0

我想遍历我的数据集。我想要 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>";
4

2 回答 2

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>';

您可能需要稍微整理一下以完成最后一行并避免最后出现空行,但这只是一个总体思路。

于 2012-08-31T00:46:57.883 回答
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每个循环返回一个结果。因此,您为每个循环打印一次结果,而不是一个循环中的每个人。

于 2012-08-31T00:36:58.540 回答