空的表行在从查询的圈时

时间:2013-01-24 01:15:00

标签: php

我有一个while循环,它在表格中显示记录。工作正常,但表格顶部有一个额外的表格行是空的。

<table width="100%" border="0" cellpadding="5">
  <?php do { 
  $count++;
?>
    <tr bgcolor=<?php echo processRow($count); ?>>
      <td><?php echo $row['title']; ?></td>
      <td width="8%"><a href="edit_topic.php?topic_pk=<?php echo $row['topic_pk']; ?>">edit</a></td>
      <td width="12%"><a href="edit_topic.php?topic_pk=<?php echo $row['topic_pk']; ?>">delete</a></td>
    </tr>
  <?php 
   if($count == 2){
$count = 0;
}
} while ($row = mysql_fetch_assoc($result)); 
?>
</table>

2 个答案:

答案 0 :(得分:0)

第一次循环启动$row = mysql_fetch_assoc($result)尚未执行,因此未获取任何结果。 在文件的开头添加$row = mysql_fetch_assoc($result);(在循环之前)或将do-while循环转换为while以解决问题。

答案 1 :(得分:0)

在评估传递给do {} while()的内容之前,while构造首先遍历块的内容。如果你这样写,应该摆脱空行:

<?php while ($row = mysql_fetch_assoc($result)): ?>
  <? $count++; ?>
  <tr bgcolor=<?php echo processRow($count); ?>>
    <td><?php echo $row['title']; ?></td>
    <td width="8%"><a href="edit_topic.php?topic_pk=<?php echo $row['topic_pk']; ?>">edit</a></td>
    <td width="12%"><a href="edit_topic.php?topic_pk=<?php echo $row['topic_pk']; ?>">delete</a></td>
  </tr>
<?php 
 if($count == 2){ $count = 0; }
 endwhile; 
?>