2011-01-28 3 views
0

У меня есть таблица (type, typeID, toID) Я хотел бы создать массив результатов и установить/снять флажки с соответствующими флажками, код, который у меня есть, не работает, он проверяет первый флажок ,check checkbox from mysql result

<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

mysql_fetch_array() извлекает одну строку из результата. Каждая строка будет содержать один идентификатор типа. Вам придется перебирать строки и делать что-то. Код ниже добавит все ID в массив, который вы можете найти.

$typeIdArray = array(); 

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

Почему вы не используете цикл while для набора результатов? Вам нужен только первый элемент из набора результатов?