Php 选中mysql结果中的复选框

Php 选中mysql结果中的复选框,php,mysql,checkbox,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 =

我有一个表(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>
    mysql_fetch_array()从结果中提取一行。每行将包含一个typeID。你必须在行中循环并做一些事情。下面的代码将所有ID添加到您可以搜索的数组中

    $typeIdArray = array();
    
    while($row = mysql_fetch_array($query)) {
        $typeIdArray[] = $row['typeID'];
    }
    
    mysql_fetch_array()从结果中提取一行。每行将包含一个typeID。你必须在行中循环并做一些事情。下面的代码将所有ID添加到您可以搜索的数组中

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

    为什么不在结果集中使用loop while呢?是否只需要结果集中的第一个元素?

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