Php 从mysql和类别下的组获取数据
我用这个结构从数据库中获取数据Php 从mysql和类别下的组获取数据,php,mysql,Php,Mysql,我用这个结构从数据库中获取数据 Cars | Category | 1Days | 3 Days -------|--------------|------–--|---------–– Car1 | Off Road | 50.00 | 90,00 Car2 | Off Road | 50.00 | 90,00 Car3 | Minivan | 50.00 | 90,00 我想把它改成 Off Road Cars | 1Days |
Cars | Category | 1Days | 3 Days
-------|--------------|------–--|---------––
Car1 | Off Road | 50.00 | 90,00
Car2 | Off Road | 50.00 | 90,00
Car3 | Minivan | 50.00 | 90,00
我想把它改成
Off Road
Cars | 1Days | 3 Days
-------|----------|---––
Car1 | 50.00 | 90,00
Car2 | 50.00 | 90,00
Minivan
Cars | 1Days | 3 Days
-------|----------|---––
Car3 | 50.00 | 90,00
我想将表按类别分组
感谢您提供的advance您可能需要从PHP表示层处理此问题。以下是一种方法:
$sql = "SELECT * FROM yourTable ORDER BY category, cars";
$result = $conn->query($sql);
$category = NULL;
echo "<table colspan=\"3\">";
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
if ($category != $row["category"]) {
echo "<tr><td colspan=\"3\">" . $row["category"] . "</tr>";
echo "<tr><td>Cars</td><td>1 Days</td><td>3 Days</td></tr>";
$category = $row["category"];
}
echo "<tr>";
echo "<td>" . $row["cars"] . "</td>";
echo "<td>" . $row["1days"] . "</td>";
echo "<td>" . $row["3days"] . "</td>";
echo "</tr>";
}
echo "</table>";
}
$sql=“按类别从表中选择*订单,车辆”;
$result=$conn->query($sql);
$category=NULL;
回声“;
如果($result->num_rows>0){
而($row=$result->fetch_assoc()){
如果($category!=$row[“category”]){
回显“$行[“类别]”;
回声“Cars1天3天”;
$category=$row[“category”];
}
回声“;
回显“$row[“cars”]”;
回显“$行[“1天]”;
回显“$行[“3天]”;
回声“;
}
回声“;
}
上面的代码使用的逻辑,在结果集中看到一个尚未看到的类别时,将打印两个标题行。第一个标题行只包含类别,第二个标题行包含表中三列的标题
这里需要注意的一点是,我们在MySQL查询中使用
orderbycategory,cars
,将我们想要的顺序强加给结果集数据。如果不使用ORDER BY,我们的方法可能无法工作。您的确切输出可能必须在PHP代码中处理。你能包括你的PHP代码吗?对不起,我不能添加代码,这里的代码链接对你的问题没有帮助。将代码作为文本包含。如果你不能花5分钟格式化你的问题,为什么你会期望其他人花时间回答?我很抱歉,我是新来的,我会尝试将格式化代码作为文本发布如果有“5天”?Tim Biegeleisen非常感谢你,你的代码完全符合我的要求wanted@VanoNasaridze如果它对你有帮助,请考虑把这个答案标记正确。左边的绿色复选标记。