我有一个表(type,typeID,toID)我想创建一个结果数组并选中/取消选中相关的复选框,我的代码不起作用它只检查第一个复选框。
<ul class="fields">
<?php
//
$query = mysql_query("SELECT typeID FROM assign WHERE type='shades' AND toID='$row[ID]'")or die(mysql_error());
$item = mysql_fetch_array($query);
echo'
<li>
<label>
<input type="checkbox" class="checkbox" name="shades[]" ';
if(in_array("2",$item)){
echo" checked=\"checked\" ";};
echo'value="2"/>Front Shade</label>
</li>
<li>
<label><input type="checkbox" class="checkbox" name="shades[]" ';
if(in_array("4",$item)){echo" checked=\"checked\" ";};
echo'value="4"/>1 Pair of End Shades</label>
<li>
<label><input type="checkbox" class="checkbox" name="shades[]" ';
if(in_array("1",$item)){echo" checked=\"checked\" ";};
echo'value="1"/>Left End Shade</label>
</li>
<li>
<label><input type="checkbox" class="checkbox" name="shades[]" ';
if(in_array("3",$item)){echo" checked=\"checked\" ";};
echo'value="3"/>Right End Shade</label>
</li>
';
?>
</ul>
答案 0 :(得分:1)
mysql_fetch_array()从结果中获取一行。每行将包含一个typeID。你将不得不循环遍历行并做一些事情。下面的代码会将所有ID添加到您可以搜索的数组中。
$typeIdArray = array();
while($row = mysql_fetch_array($query)) {
$typeIdArray[] = $row['typeID'];
}
答案 1 :(得分:0)
为什么不在结果集中使用循环?您是否只需要来自结果集的第一个元素?