我有一个编辑页面,在访问时会填充该页面。输入值工作正常,但我很难勾选类别复选框。我从两张表中获得信息。一个显示所有类别,另一个显示与该项目关联的类别。填写编辑表格上的复选框
以下代码不起作用,因为第二个while语句在第一轮中完成其循环。有没有适当的方法来做到这一点?
<?php $check_cats = mysql_query("SELECT * FROM item_categories WHERE itemid = '$itemid'") or die(mysql_error()); ?>
<?php $result = mysql_query("SELECT * FROM categories ORDER BY cname") or die(mysql_error()); ?>
<?php while($row = mysql_fetch_array($result)) { ?>
<input type="checkbox" id="<?php echo $row['cname']; ?>" name="cat[]" value="<?php echo $row['id']; ?>"
<?php while($check_cat_rows = mysql_fetch_array($check_cats)) {
if ($check_cat_rows['catid'] == $row['id']) {
echo 'checked="yes"';
}
}
} ?>
我的两个表:
TABLE `item_categories`
`id`
`itemid`
`catid`
TABLE `categories`
`id`
`cname`
我得到这个错误:操作数应包含1列(S) – Norbert 2010-11-19 21:25:57
固定...选择所需要的内联指定的列... 可能有这样做的更有效的方法,但这是最容易阅读的。马克B的查询将更加谨慎,如果你正在做一个非常重的网站(每秒几百个查询,十万行) – 2010-11-19 21:29:51
感谢一堆!这是SQL在我头上的限制:) – Norbert 2010-11-19 21:36:40