Php 知道为什么查询结果不显示为复选框吗?

Php 知道为什么查询结果不显示为复选框吗?,php,javascript,html,Php,Javascript,Html,在数据库中,我们有一个名为ResultType的fiedlname 有多种类型的值与ResultType fieldname关联 我们的要求是查询我们的数据库并使用复选框显示ResultType的值,以便用户可以选择检查一个或多个值 用户可以单击“全选”复选框来选择所有复选框值 用户也可以选中“取消锁定”复选框以取消选择其选择 一个简单的JS(attach)正在处理这个问题 但我遇到的问题是,ResultType的值没有显示在复选框旁边 我们有一个名为dbConnect.php的文件,其中定义了

在数据库中,我们有一个名为ResultType的fiedlname

有多种类型的值与ResultType fieldname关联

我们的要求是查询我们的数据库并使用复选框显示ResultType的值,以便用户可以选择检查一个或多个值

用户可以单击“全选”复选框来选择所有复选框值

用户也可以选中“取消锁定”复选框以取消选择其选择

一个简单的JS(attach)正在处理这个问题

但我遇到的问题是,ResultType的值没有显示在复选框旁边

我们有一个名为
dbConnect.php
的文件,其中定义了到sql server db的连接以及凭据

下面的代码有问题,我无法解决

<head>
     <script type="text/javascript">
      function checkAll(formName, status){
       for (i = 0; i < formName.length; i++)
       formName[i].checked = status.checked? true:false
       }
 </script>
</head>
<body>
<h3>Search Options</h3>

 <form name ="checkForm" method="post" action="Search.php">
  <input type="checkbox" name="srcoptions"
        onClick="checkAll(this.form,this)">Check/Uncheck All
<?php

   // Connect to SQL Server database
   include("../connections/dbConnect.php");


   // Construct query
     $sql = "SELECT * FROM Results";

// Execute query
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false )
{
     echo "Error in executing query.</br>";
     die( print_r( sqlsrv_errors(), true));
}

// Retrieve and display the results of the query
  while($row=mysql_fetch_array($res)){
   echo '<input type="checkbox" name="chk[]"
       value =<font class=heading>'.$row["resultType"].'</font>><font class=heading>'.$row["resultType"].'</font><br>';
  }
  // Free statement and connection resources
  sqlsrv_free_stmt( $stmt);
  sqlsrv_close( $conn);

  ?>
  <P><input type="submit" value="Search">
  </form>
</body>
</html>

函数checkAll(表单名称、状态){
对于(i=0;i

事先非常感谢您的帮助

我不完全确定您想用这条线生产什么:

echo '<input type="checkbox" name="chk[]" value=<font class=heading>'.$row["resultType"].'</font>><font class=heading>'.$row["resultType"].'</font><br>';
echo'.$row[“resultType”]。
但这是无效的。您没有引用该值,并且其中有其他HTML标记(我删除了这些标记,但如果需要,您可以读取它们)。请尝试以下方法:

echo '<input type="checkbox" name="chk[]" value="'.$row["resultType"].'"><font class=heading>'.$row["resultType"].'</font><br>';
echo'.$row[“resultType”]。
旁注:你真的不应该使用字体标签。

也许可以试试:

// Retrieve and display the results of the query
while($row=mysql_fetch_array($res)){
$i=0;
$i++;
echo '<input type="checkbox" name="chk[$i]"
//检索并显示查询结果
while($row=mysql\u fetch\u数组($res)){
$i=0;
$i++;

echo'Err,复选框(或任何其他元素)的值不能为
。这是无效的HTML。我强烈建议您避免将字体属性编码到元素中-改用CSS类。尝试了您的建议@David,但复选框仍然没有任何值。我看到的只是选中/取消选中所有复选框和搜索词。从顶部的文本中,您可能会遇到案例问题。您说该列是
ResultType
,但随后您可以使用ResultType
访问它。在没有看到数据库和从中得到的信息的情况下,我没有更多的建议。现在开始工作。我使用以下命令搞砸了:
$row=mysql\u fetch\u array($res..
而不是dbConnect.php中定义的:
$row=sqlsrv\u fetch\u array…
。我为浪费您的时间而道歉,并感谢所有人的宝贵建议。