Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从mysql和类别下的组获取数据_Php_Mysql - Fatal编程技术网

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如果它对你有帮助,请考虑把这个答案标记正确。左边的绿色复选标记。