PHP和SQL的循環是web開發中必不可少的一部分。循環可以讓您對數據庫中的數據進行處理,并且可以讓網頁動態地顯示更多的內容。在下面的文章中,我們將通過舉例來討論PHP和SQL的循環。
在這篇文章中,我們將看看如何在PHP代碼中使用循環來處理與SQL查詢相關的數據。我們將介紹foreach、while以及do-while循環,并展示它們的使用方法。此外,我們還將增加一些有關循環的小技巧和建議。
在這個例子中,我們將展示如何從一個數據庫中選擇所有的城市和國家。我們將利用PHP代碼中的foreach循環來處理這個數據,并將其顯示在網頁上。
$db = new mysqli('localhost', 'user', 'password', 'database'); $result = $db->query('SELECT city, country FROM locations'); while ($row = $result->fetch_assoc()) { $cities[$row['country']][] = $row['city']; } foreach ($cities as $country =>$citiesArray) { echo("在上面的代碼中,我們創建了一個MySQLi對象,并使用了query()方法來選擇“locations”表中的所有城市和國家。我們使用while循環來從結果集中讀取每行,并將它們放入一個多維數組中,以便稍后處理。 接下來,我們使用了一個foreach循環來迭代該數組,使用每個國家的名字作為鍵。每個城市都被添加到它所屬的國家的城市數組中。然后,我們使用一個嵌套的for循環來遍歷每個城市數組,顯示所有的城市和國家。 在這段代碼中,我們還使用了一些技巧來保持輸出的整潔性。例如,我們使用count()函數來獲取城市數組的大小,然后在最后一個城市名稱后不再顯示逗號。 我們還可以使用while循環來處理數據,并使用do-while循環來從結果集中讀取每行。在這個例子中,我們將從一個數據庫中選擇所有的文章和作者,并將它們顯示在網頁上。{$country}:"); $numCities = count($citiesArray); for ($i = 0; $i< $numCities; $i++) { echo($citiesArray[$i]); if ($i != $numCities - 1) { echo(", "); } } echo("
"); }
$db = new mysqli('localhost', 'user', 'password', 'database'); $result = $db->query('SELECT articles.title, authors.name FROM articles INNER JOIN authors ON articles.author_id = authors.id'); echo("
- ");
if ($result->num_rows >0) {
do {
$row = $result->fetch_assoc();
echo("
- {$row['title']} by {$row['name']} "); } while ($result->next_row()); } echo("