структура базы forum_kats = id, kat
структура базы forum_data = id,gruppe,kat,sub,user,titel,cont datum,lastdatum
мне нужно что бы выводило все категории (что делает 1 запрос) и под ними выводило когда в последний раз в категории писали пост т.е ORDER BY lastdatum, (что делает 2 запрос)в первом же ORDER BY kat..помогите совместит до выдачи while()
буду очен признателен
Спустя 21 минута, 21 секунда (19.06.2009 - 10:13) Mizka написал(а):
хм, у тебя в таблице forum_kats есть id, kat... они же есть и в forum_data... зачем тагда две таблицы?
Спустя 11 минут, 53 секунды (19.06.2009 - 10:25) glock18 написал(а):
у вас $k - массив. как вы ее в запрос подставляете. то есть оно у вас работает?0_о
Запрос такой должен быть примерно:
SQL |
SELECT k.id, k.kat, d.lastdatum FROM forum_kats k LEFT JOIN forum_data d ON k.id = d.kat WHERE lastdatum NOT LIKE '0' GROUP BY k.id ORDER BY d.kat, d.lastdatum DESC |
не совсем понятно что за kat - id или категория. с таким запросом наверняка не будет применен индекс на ORDER BY. Возможно, только по d.kat.
Запрос не проверял у себя.
Спустя 58 минут, 30 секунд (19.06.2009 - 11:24) agentor написал(а):
Цитата (Mizka @ 19.06.2009 - 07:13) |
хм, у тебя в таблице forum_kats есть id, kat... они же есть и в forum_data... зачем тагда две таблицы? |
потому как мне нужно вывести ещё название всех категорий
Цитата |
у вас $k - массив. как вы ее в запрос подставляете. то есть оно у вас работает?0_о
Запрос такой должен быть примерно: |
$k это ид категории
т.е из каждой категории вывести время последнего поста который принадлежит к данной категории.
запрос работает но выводит только последние 3 категории..к сожаление не выводит все
а нужно вывести все категории которые имеются в базе данных,а также к ним время последнего поста в данной категории
Спустя 16 минут, 8 секунд (19.06.2009 - 11:40) glock18 написал(а):
в GROUP BY поставь d.kat попробуй. я табличек не вижу твоих, поэтому не могу наверняка говорить.
Спустя 1 час, 25 минут, 43 секунды (19.06.2009 - 13:05) agentor написал(а):
я понял почему не все выводит категории при данном запросе и попробую описать.
Если Постов в какой либо категории нет ..сама категория не выводится , а выводятся те котегории в которых есть Посты.
Пробовал менять как вы описали но не помогло...
Спустя 7 минут, 52 секунды (19.06.2009 - 13:13) glock18 написал(а):
ну тогда могу только посоветовать заменить в ORDER BY
с d.kat на k.id. в GROUP BY тоже k.id должен быть.
Спустя 12 минут, 2 секунды (19.06.2009 - 13:25) agentor написал(а):
спасибо за помощь но не помогло....что можно ещё тут сделать? порекомендуйте пожалуйста...
сделал так..вроде выводит н онезнаю верно ли это работает..на вид вроде да..
PHP |
SELECT k.id, k.kat, d.lastdatum FROM forum_kats k LEFT JOIN forum_data d ON k.id = d.kat GROUP BY k.id ORDER BY `d`.`lastdatum` DESC LIMIT 0 , |
Спустя 10 минут, 13 секунд (19.06.2009 - 13:35) glock18 написал(а):
да, можно так. если тебе не нужно, чтобы сортировка велась по id. Стормозил я, мог и сам догадаться. Да, это нормально должно работать. Те записи где NULL - значит нет даты вообще.
Спустя 4 минуты, 10 секунд (19.06.2009 - 13:40) agentor написал(а):
тогда оставлю так...
а то там выводило около 27 запросов из за даты..
спасибо тебе огромное glock18
Эксперт есть Эксперт...
Спустя 3 минуты, 15 секунд (19.06.2009 - 13:43) glock18 написал(а):
Без году неделя
Пожалуйста, ты и сам в конце разобрался, как сделать.