Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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显示SQL数据时创建类别标题_Php_Sql_Sorting_Header_Categories - Fatal编程技术网

使用PHP显示SQL数据时创建类别标题

使用PHP显示SQL数据时创建类别标题,php,sql,sorting,header,categories,Php,Sql,Sorting,Header,Categories,我有一个网站的菜单,我从mySQL数据库中提取所有信息。我正试图找到一种方法,用标题将食物分类 它们将被分类为 开胃菜: 结果显示在这里 沙拉: 结果显示在这里 对于几个不同的类别,等等。 这是我的选择声明 $sql = "SELECT item, price, description, category, picture, category_id FROM menu ORDER BY category ASC"; $new_result = mysql_query($sql); 这就

我有一个网站的菜单,我从mySQL数据库中提取所有信息。我正试图找到一种方法,用标题将食物分类

它们将被分类为

开胃菜:

  • 结果显示在这里
沙拉:

  • 结果显示在这里
对于几个不同的类别,等等。 这是我的选择声明

$sql = "SELECT item, price, description, category, picture, category_id FROM menu ORDER BY category ASC"; $new_result = mysql_query($sql);
这就是我使用php导入数据的方式

<?php while($new_row = mysql_fetch_array($new_result)) {
    if (isset($new_row["picture"])){
        echo "<div class='images'><img style='margin:15px;' src='".$new_row['picture']."' alt='".$new_row["item"]."' />
        <h2>". $new_row['item']."</h2>
          <h4>Price: ". $new_row['price']. " </h4>
          <p>Description: ". $new_row['description'] ."</p>
          <p>Category: ". $new_row['category'] ."</p></div>";}
 else {
    echo "<div class='images'><img style='margin:10px;' src='/archives/class11-lab/no.jpg' alt='Sorry, No Image Available' />
          <h2>". $new_row['item']."</h2><br>
           <h4>Price:". $new_row['price']. " </h4>            
        <p>Description: ". $new_row['description'] ."</h4>
         <p>Category: ". $new_row['category'] ."</p></div>";} } ?>

我这里的工作非常好,我只是不知道如何创建标题来对食物类型进行分类


感谢您在开始提取行之前初始化类别变量

$category = null;
获取每一行后,将该行的类别与上一个类别进行比较。如果不同,则输出标题。然后,该类别将成为新的上一个类别

while ($new_row = mysql_fetch_array($new_result)) {
    if ($new_row['category'] != $category) {
        echo "<h1>$new_row[category]</h1>";
        $category = $new_row['category'];
    }
    // ... rest of your while loop contents ...
while($new\u row=mysql\u fetch\u数组($new\u result)){
如果($new_row['category']!=$category){
回显“$new_row[类别]”;
$category=$new_行['category'];
}
//…其余while循环内容。。。


顺便说一句,mysql扩展已经被弃用了很长一段时间,并且在当前版本的PHP中被删除。您应该考虑更新代码以使用mysqli或PDO。

嘿,非常感谢您的工作,我将很快更新代码以使用mysqli