У меня есть меню для веб-сайта, на котором я извлекаю всю информацию из базы данных mySQL. Я пытаюсь найти способ сортировать продукты по категориям с заголовками.
Они будут отсортированы как
Appetizers:
Салаты:
И так далее для пары разных категорий. Вот мой оператор 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;
После того, как вы выберете каждую строку, сравните категорию этой строки с предыдущей категорией. Если все по-другому, выведите заголовок. Затем эта категория становится новой предыдущей категорией.
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.