我有一个ID、Product和三列的products表。
我想取回我的产品类别,就像这样。
Category1
Product1
Product2
Product3
Product4
Category2
Product1
Product2
Product3
Product4
Category3
Product1
Product2
Product3
Product4
我试过这个..。
<?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/>";
}
}
}
?>但它多次重复每种产品.
请帮帮忙!
发布于 2018-07-20 14:08:06
您可以尝试循环结果,同时保存最后遇到的类别的记录。见以下代码(未经测试):
<?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/>";
}
}
?>希望它有帮助:)
https://stackoverflow.com/questions/51444109
复制相似问题