Php循环数据记录

时间:2012-08-31 00:33:29

标签: php arrays loops

我想遍历我的数据集。我想要5行8个单元格。我似乎无法绕过如何做到这一点。我的代码只重复我的数据集中的每个项目。

我是否需要执行类似$ row ['URL'] [0]

的操作
while($row = mysql_fetch_array($result))
   {
   echo "<tr>";
   echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "'/></a></td>";
   echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "'/></a></td>";
   echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "'/></a></td>";
   echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "'/></a></td>";
   echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "'/></a></td>";
   echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "'/></a></td>";
   echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "'/></a></td>";
   echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "'/></a></td>";
   echo "</tr>";
   }
 echo "</table>";

2 个答案:

答案 0 :(得分:3)

首先,您应该在sql查询中限制结果集并切换到PDO或mysqli,因为mysql_*函数已弃用。

然后你可以做类似的事情:

echo '<table><tr>';
$count = 0;
while (...)
{
  $count++;   
  echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "'/></a></td>";
  if ($count % 5 === 0)
  {
    echo '</tr><tr>';
  }
}
echo ' </tr></table>';

您可能需要整理一下以完成最后一行并避免在结尾处出现空行,但这只是一个大概。

答案 1 :(得分:1)

尝试:

echo "<tr>";
while($row = mysql_fetch_array($result))
{
   echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "'/></a></td>";
}
echo "</tr>";
echo "</table>";

说明:mysql_fetch_array为每个循环返回一个结果。因此,您为每个循环打印一次结果,而不是在一个循环中打印每个循环。