Php在数据记录中循环

问题描述:

我想遍历我的数据集。我想要5行8个单元格。我似乎无法把我的头围绕如何包裹。我的代码只是重复我的数据集中的每个项目。Php在数据记录中循环

我需要做这样的事情$行[ '网址'] [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

我的结果包含来自查询的800行或项目 – CsharpBeginner

首先,您应该将结果集限制在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>'; 

你可能需要整理这个了一下,完成最后一排,避免在最后的空行,但是这只是一个大致的了解。

尝试:

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为每个循环返回一个结果。因此,您可以为每个循环打印一次结果,而不是每个循环中的所有人。

+0

我的查询包含800行上面的代码仍然可以工作吗? – CsharpBeginner

+0

如果您只需要5行,您必须在SQL查询中设置限制。在查询结尾添加一个“LIMIT 5”。 – ThoKra

+0

有点累,但请查看下面的答案以获得更好的答案 – ThoKra