检查mysql结果的复选框

时间:2011-01-28 02:19:46

标签: php mysql checkbox

我有一个表(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>

2 个答案:

答案 0 :(得分:1)

mysql_fetch_array()从结果中获取一行。每行将包含一个typeID。你将不得不循环遍历行并做一些事情。下面的代码会将所有ID添加到您可以搜索的数组中。

$typeIdArray = array();

while($row = mysql_fetch_array($query)) {
    $typeIdArray[] = $row['typeID'];
}

答案 1 :(得分:0)

为什么不在结果集中使用循环?您是否只需要来自结果集的第一个元素?