PHP для цикла – отображение данных в таблице

я не могу понять, почему мой код не работает; он отображает только 1 результат, тогда как в таблице есть несколько записей.

<?php $search = $_POST['search']; print ($search); $query = "SELECT * FROM student WHERE county= 'sussex'"; $result = mysql_query($query,$conn); $counter = 0; $z=0; while($row = mysql_fetch_assoc($result)){ $id[$counter] = $row['roll_number']; $counter = $counter + 1; } ?> <table border="1" id="table1" > <th>Id</th> <th>Type</th> <th>Description</th> <th>Operator Id</th> <? if($counter>0) { for($z=0;$z<$counter;$z++) { ?> <tr> <? if($z<$counter) { ?> <td > <?php echo $id[$z]?> </td> <? } $z = $z + 1; ?> </tr> </table> 

Вы забыли закрыть цикл FOR и его включение IF, я сделал это ниже:

 <? if($counter>0) { for($z=0;$z<$counter;$z++) { ?> <tr> <? if($z<$counter) { ?> <td > <?php echo $id[$z]?> </td> <? } //$z = $z + 1; <!-- REMOVE or comment out this line --> ?> </tr> <? } } ?> <!-- HERE we close the for loop and the IF --> </table> 

UPDATE : отметил, благодаря VinceBurn, что $ z был увеличен дважды