使用 PHP 显示 SQL 数据时创建类别标题
Create Category Headings when displaying SQL data using PHP
我有一个网站菜单,我从 mySQL 数据库中提取所有信息。我正在尝试找到一种方法来将食物分类并带有标题。
它们的排序方式类似于
开胃菜:
- 结果显示在这里
沙拉:
- 结果显示在这里
等等几个不同的类别。
这是我的select声明
$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;
获取每一行后,将该行的类别与上一类别进行比较。如果不同,输出header。然后该类别成为新的上一个类别。
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 ...
顺便说一下,mysql 扩展已经弃用了很长一段时间,并在 PHP 的当前版本中被删除。您应该考虑更新代码以改用 mysqli 或 PDO。
我有一个网站菜单,我从 mySQL 数据库中提取所有信息。我正在尝试找到一种方法来将食物分类并带有标题。
它们的排序方式类似于
开胃菜:
- 结果显示在这里
沙拉:
- 结果显示在这里
等等几个不同的类别。 这是我的select声明
$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;
获取每一行后,将该行的类别与上一类别进行比较。如果不同,输出header。然后该类别成为新的上一个类别。
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 ...
顺便说一下,mysql 扩展已经弃用了很长一段时间,并在 PHP 的当前版本中被删除。您应该考虑更新代码以改用 mysqli 或 PDO。