2012-08-31 60 views
0

我想遍歷我的數據集。我想要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

回答

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

嘗試:

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