我想遍历我的数据集。我想要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>";
答案 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
为每个循环返回一个结果。因此,您为每个循环打印一次结果,而不是在一个循环中打印每个循环。