我有一個編輯頁面,在訪問時會填充該頁面。輸入值工作正常,但我很難勾選類別複選框。我從兩張表中獲得信息。一個顯示所有類別,另一個顯示與該項目關聯的類別。填寫編輯表格上的複選框
以下代碼不起作用,因爲第二個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