|
|
|
| В базе данных toc одновременно хранятся категории и статьи.
Структура базы:
id | pid | rid | razdname | art | prior | hide
Здесь нам нужны два поля - ID и RID.
Если это категория - RID=0; если же статья - RID=ID категории
Как сделать сортировку, чтобы статья выводилась именно под разделом?
Вот сам запрос:
SELECT toc.*, articles.*, articles.hide AS ahide FROM toc
LEFT JOIN articles ON toc.art = articles.id
WHERE toc.pid = {$i['id']} AND toc.hide != '1'
ORDER BY ...?
|
| |
|
|
|
|
|
|
|
для: Fix
(04.12.2008 в 13:02)
| | Неужели никто не может хотя-бы посоветовать что-нибудь? :( | |
|
|
|
|
|
|
|
для: FiX
(05.12.2008 в 12:47)
| | посоветовать что-нибудь
Если курите - бросайте.
У вас вопрос абсолютно непонятный... поэтому отсутствуют советы по существу.
Структура базы:
id | pid | rid | razdname | art | prior | hide
Возможно вы имели ввиду структура таблицы? (причём обязательно нужно указывать название таблицы)
В запросе у вас выборка из двух таблиц... Где структура второй?
На вопрос "...остальное догадайтесь" может быть только один совет "делай сам".
Эффективность прямопропорциональна количеству предоставленной (по существу) информации. | |
|
|
|
|
 43 Кб |
|
|
для: Valick
(05.12.2008 в 13:50)
| | Нет, не курю :)
Спасибо, понял в чем моя ошибка. Действительно, многие важные вещи я не сообщил... Да и просто по загону перепутал слова "База данных" и "Таблица" :)
Итак:
Структура таблицы toc
id | pid | rid | razdname | art | prior | hide
Структура таблицы articles
id | pid | header | author | orgs | anons | pdf_copy | nodecont | oldadr | hide | prior
SELECT toc.*, articles.*, articles.hide AS ahide FROM toc
LEFT JOIN articles ON toc.art = articles.id
WHERE toc.pid = '557' AND toc.hide != '1'
ORDER BY ...?
|
Прикрепил картинку с максимально подробной информацией... | |
|
|
|
|
|
|
|
для: FiX
(05.12.2008 в 15:15)
| | ORDER BY IF(toc.rid>0, toc.rid, toc.id)
не пробовали ?
вроде оно, если не навалено подразделов позже статей | |
|
|
|
|
|
|
|
для: xx77
(05.12.2008 в 18:27)
| | Спасибо, работает!!!!!
Теперь сортировка идет правильно! :) Большоооое спасибо!! | |
|
|
|