Здравствуйте. Очень простой вопрос. Подскажите как вывести из базы данных данные, с сортировкой по категориям. Понятно, что буедет работать Foreach, но все таки подскажите код. БАЗА Mysql `Base` Id --- Type --- Name --- Qua 1 Books Gaidar 3шт 2 Books Gogol 2шт 3 Journals Maxim 5шт 4 Journals Mens 6шт Требуется вывод на экран в таком виде: Books Gaidar 3шт Gogol 2шт Journals Maxim 5шт Mens 6шт Вот код - вывожу тупо все данные из базы. Просьба добавить Foreach и вложенный Foreach, чтобы выводило как мне нужно. PHP: $result=mysql_query("SELECT * FROM `Base` ORDER BY `Id`"); while($row = mysql_fetch_array($result)){ $type=$row['Type']; $name=$row['Name']; $qua=$row['Qua']; echo " <tr> <td>$type</td> <td>$name</td> <td>$qua</td> </tr>"; } ?>
При чем тут сортировка? Это вы ошиблись адресом. Мне нужно вывести таблицу с оглавлениями. Это делается методом foreach (переборка оглавлений) и вложением foreach (для переборки всего остального).
Ну, вперед, коли такой умный. А сортировка тут при том, что тебе нужно отсортировать. Только не по id показанных записей, а по категориям (по крайней мере в первую очередь). После сортировки выводить можно одним циклом, отслеживая изменение категории и выдавая при этом соотв. заголовок. И почему категории не нормализованы?
PHP: <?php for ($type=''; $row=getrow();): if ($row['type']!=$type): $type=$row['type']; ?> <tr><td colspan=3><?= $row['type'] ?></td></tr> <?php endif; ?> <tr> <td><?= $row['type'] ?></td> <td><?= $row['name'] ?></td> <td><?= $row['qna'] ?></td> </tr> <?php endfor; ?> --- Добавлено --- Обычно это делается с числовыми идентификаторами категорий и «счетчику» первоначально присваивается недействительный идентификатор, например нулевой. Можно использовать и while. Для этого просто разместите первое присваивание перед циклом. --- Добавлено --- И сделай над собой усилие, все же посмотри последний пример по ссылке
Мда... я так понимаю все сложно очень у тебя с php, да и в жизни видимо не особо ликвидный. Удивляюсь, почему ты не посоветовал включить компьютер в розетку? Или открыть редактор php кода!?!? Сортировка - это само собой разумеется. Только основной вопрос по организации цикла это не решает. Хорошо, я тебя научу - и на первый раз, это будет бесплатно. Примерный код c foreach будет выглядеть так: <?php foreach ($entityGroups as $books => $entities): ?> <table> <?php echo $books; ?> <?php foreach ($entities as $entity): ?> <tr> <td><?= $entity->books?></td> <td><?= $entity->name ?></td> <td><?= $entity->qua ?></td> </tr> <?php endforeach ?> </table> <?php endforeach ?>[/code]
Да, видимо. Раз трачу свое время на таких умников, как ты, вместо того чтобы заниматься делом. Успехов.