【发布时间】:2016-05-12 09:43:50
【问题描述】:
我正在使用从数据库表中获取的数据填充复选框。我的问题与 SO 上的其他问题不同,因为我定义了一个复选框,并且当从数据库中填充时它会循环。所以我想检查包含另一个表中存在的值的复选框。使用我拥有的代码,仅选中包含表最后一行值的复选框。我做错了什么?
//this is the value I get from the other table.
$indb = "$bid,$c,$sc,$p";
$q5=mysqli_query($link,"SELECT * FROM brands_offer WHERE Brand_Id='$bid' AND Published='1' ");
while($row5 = mysqli_fetch_array($q5)){
$catid= $row5['Catg_Id'];
$subcatid= $row5['Subcatg_Id'];
$pid= $row5['Product_Id'];
//this is the value that populates the checkboxes
$vals="$bid,$catid,$subcatid,$pid";
?>
//my argument is here
<input type="checkbox" name="checkbox[]" value="<?php echo "$vals";?>" <?php if ($vals == $indb){?> checked="checked" <?php } ?>>
<?php
echo $bname;
echo " -> ";
echo $catid;
echo ", ";
echo $subcatid;
echo ", ";
echo $pid;
echo " ";
}
【问题讨论】:
-
@Dagon 我认为复选框在 while 循环内。 @YohanBlake - 你为什么不直接做一个
JOIN或一个嵌套循环?还是它已经在嵌套循环中?能否提供另一张桌子的详细信息?
标签: php mysql database checkbox