我有一个网站菜单,我正在从 mySQL 数据库中提取所有信息。我正在尝试找到一种方法将食物按标题分类。
它们会像这样排序
开胃菜:
Salads:
等等几个不同的类别。
这是我的选择语句
$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>";} } ?>
我这里的功能非常好,我只是不知道如何创建标题来对食物类型进行分类。
Thanks
在开始获取行之前初始化类别变量。
$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。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)