我有一个包含这些列的 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/