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("