Проблемы с выводом нужной категории

Alexis510
На сайте с 13.05.2011
Offline
125
399

Здравствуйте уважаемые форумчане! Нужна Ваша помощь...

Есть база данных и в ней есть поле категория. В этом поле записывается id категории к которой относится новость.

Подскажите как мне вывести по очереди новости одного автора, сортируя их по категориям. Например когда я нажимаю на автора мне показывает такую таблицу:

________________________________

К первой категории у этого автора есть 2 новости:

1- новость.

2-новость.

________________________________

К второй категории у этого автора есть 1 новость:

1-новость

и т.д.

Вот мой код:


<?php
$result = mysql_query("SELECT * FROM works WHERE author='$cat' or author2='$cat' or author3='$cat'", $db);


if (!$result && !$result2)
{
echo "<p>ϸ颪࡯
bay_ebook
На сайте с 28.05.2010
Offline
111
#1

Во-первых - зачем 2 цикла? В первом вывод сделать не судьба? :)

Во-вторых - курим order by и может gruop by в mysql.

Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
Alexis510
На сайте с 13.05.2011
Offline
125
#2
bay_ebook:
Во-первых - зачем 2 цикла? В первом вывод сделать не судьба? :)
Во-вторых - курим order by и может gruop by в mysql.

У меня выполняется один цикл.

Если вам не сложно можете подказать как и куда запихнуть order by и gruop by в mysql.

bay_ebook
На сайте с 28.05.2010
Offline
111
#3
Alexis510:
У меня выполняется один цикл.
Если вам не сложно можете подказать как и куда запихнуть order by и gruop by в mysql.


mysql_query("SELECT * FROM works WHERE author='$cat' or author2='$cat' or author3='$cat' ORDER BY id GRUOP BY id", $db);

В место id -нужный параметр. Кстати в гугле легко отыскать кучу примеров, так как вещь широко используется.

C
На сайте с 04.02.2005
Offline
291
#4

GROUP BY != GRUOP BY

Alexis510
На сайте с 13.05.2011
Offline
125
#5

Оно то группирует, но походу в цикле нужно тоже что-то поменять...

C
На сайте с 04.02.2005
Offline
291
#6

тут одним selectом не обойтись

Alexis510
На сайте с 13.05.2011
Offline
125
#7
Chukcha:
тут одним selectом не обойтись

Что вы имеете ввиду?

IL
На сайте с 20.04.2007
Offline
435
#8
Chukcha:
тут одним selectом не обойтись

Почему?

Order by author, category

В цикле


if ($myrow['author']!=$oldauthor) {$oldauthor = $myrow['author'];//другой автор}
if ($myrow['category']!=$oldcategory) {$oldcategory = $myrow['category']; //другая категория}

//если нужно - выводим имя автора/категории, следующие строчки таблицы и тд.

p.s. Имена переменных зачётные.. почему автор с категорией сравнивается?

author='$cat' or author2='$cat' or author3='$cat'
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
Alexis510
На сайте с 13.05.2011
Offline
125
#9
ivan-lev:
Почему?
Order by author, category


В цикле

if ($myrow['author']!=$oldauthor) {$oldauthor = $myrow['author'];//другой автор}
if ($myrow['category']!=$oldcategory) {$oldcategory = $myrow['category']; //другая категория}

//если нужно - выводим имя автора/категории, следующие строчки таблицы и тд.

p.s. Имена переменных зачётные.. почему автор с категорией сравнивается?

cat это категория автора.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий