[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как сделать 2 запроса в один или 2 ORDER by
agentor
как сделать 2 запроса в один
из
PHP
$kk mysql_query("SELECT  id, kat FROM forum_kats ORDER BY kat");

и

PHP
while($k mysql_fetch_array($kk)) { 
$tt mysql_query("SELECT lastdatum FROM forum_data WHERE kat='$k' AND lastdatum NOT LIKE  '0' ORDER BY lastdatum DESC LIMIT 0,1");
$t mysql_fetch_array($tt);


структура базы 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... зачем тагда две таблицы? smile.gif

Спустя 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... зачем тагда две таблицы? smile.gif

потому как мне нужно вывести ещё название всех категорий

Цитата
у вас $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.idk.katd.lastdatum
FROM forum_kats k
LEFT JOIN forum_data d ON k
.id d.kat
GROUP BY k
.id
ORDER BY 
`d`.`lastdatumDESC 
LIMIT 0 


user posted image

Спустя 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 написал(а):
Без году неделя smile.gif Пожалуйста, ты и сам в конце разобрался, как сделать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.