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