php - 如何使用 php 检索数据类别明智?
问题描述
我有一个产品表,其中包含三列ID、Product和Category。
我想像这样明智地检索我的产品类别..
类别1
产品1
产品2
产品3
产品4
类别2
产品1
产品2
产品3
产品4
类别3
产品1
产品2
产品3
产品4
我试过这个...
<?php
require_once('config.php');
$conn = mysqli_connect($servername, $username, $password, $dbname);
$sql = "SELECT * FROM `products` WHERE status = 1";
$result = $conn->query($sql);
if (@$result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
$category = $row['category'];
$name = $row['name'];
foreach ($row as $category)
{
echo $name."<br/>";
}
}
}
?>
但它重复每个产品多次......
请帮忙 !
解决方案
您可以尝试循环遍历结果,同时记录最后遇到的类别。请参阅下面的代码(未经测试):
<?php
require_once('config.php');
$conn = mysqli_connect($servername, $username, $password, $dbname);
$sql = "SELECT * FROM `products` WHERE status = 1 ORDER BY category ASC, name ASC";
$result = $conn->query($sql);
if (@$result->num_rows > 0)
{
$previous_category = "" // To keep track of the last printed category
while($row = $result->fetch_assoc())
{
$category = $row['category'];
$name = $row['name'];
if ($previous_category !== $category) { // If this category has never been printed, we print it
echo $category."<br/>";
$previous_category = $category;
}
echo $name."<br/>";
}
}
?>
希望能帮助到你 :)
推荐阅读
- android - 在 Jetpack Compose UI 中设置内容视图的方法
- python - 如何用另一个字典列表过滤字典列表
- python - 是否有将根据训练数据计算的 WOE 添加到整个数据集的功能?(Python)
- azure - 如何在 Azure Web App 中为容器装载 docker 卷?
- google-bigquery - BigQuery ML K-means 与训练模型后的新数据集
- java - 为什么我收到 javax.mail.AuthenticationFailedException?
- apache-storm - 连接数据库的风暴螺栓
- java - Spring Security 5 无法添加自定义 AccessDecisionManager
- angular - 如何再次将js映射到ts
- python - 以预定间隔从摄像机视频中提取图像