php - 如何在 PHP 中使用 while 循环按 ID 列出节中的数据?

标签 php mysql while-loop

我有一个包含这些列的 mysql 表:

series_id, series_color, product_name

在输出中,我想按部分列出数据,每个 series_id 一个部分,像这样:

A12 Series Product

 - Milk  
 - Tea 
 - sugar
 - water

B12 Series Product

 - Water 
 - Banana 
 - Cofee 
 - Tea

最佳答案

series_id 对结果进行排序,所以所有具有相同值(value)的产品都会在一起。

$stmt = $pdo->prepare("SELECT series_id, product_name
                       FROM yourTable
                       ORDER BY series_id");
$stmt->execute();

然后在显示结果时,显示系列标题并开始一个新的 <ul>每当它改变时:

$last_series = null;
echo "<ul>\n";
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    if ($row['series_id'] != $last_series) {
        if ($last_series) {
            echo "</ul></li>\n";
        }
        echo "<li>" . $row['series_id'] . " Series Product\n";
        echo "<ul>\n";
        $last_series = $row['series_id'];
    }
    echo "<li>" . $row['product_name'] . "</li>\n";
}
if ($last_series) {
    echo "</li>\n";
}
echo "</ul>\n";

关于php - 如何在 PHP 中使用 while 循环按 ID 列出节中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27575562/

相关文章:

javascript - 使用 jquery ajax 和 php 时确实很奇怪的错误

mysql - 查询小调查做基准测试

MySQL 插入复杂语句

python while循环不退出

php - URL参数中的加密值(mcrypt_encrypt)在请求时产生不同的结果。如何处理这种情况?

php - 如何在 SQLquery 中查询包含范围的列中的数据

java - 聊天应用程序如何与其服务器通信?

TEXT 列上的 MySQL 索引无效

C++ while 循环和 for 循环不起作用

java - 需要循环数组/列表/任何内容并*返回给调用者*每个元素 - 但当然循环只运行一次