Доброго времени суток. Не знаю как лучше сделать. Есть основной запрос на выборку, скажем статей в цикле. К этим статьям есть возможность добавить их рейтинг, автора, комментарии(количество), категорию, файлы и т.д... Т.е. много всякой информации. Так вот. Каким образом лучше сделать так, чтобы можно было через переменные JOIN'ить или просто добавлять таблицы к общему запросу? Как-то сумбурно объяснил. Пример. Код (Text): $param1 = ', rating_id, rating_count '; $param2 = ', table_rating '; $param3 = ' AND id = rating_id '; $q = mysql_query(" SELECT id, name, desc, status ".$param1." FROM table_articles ".$param2." WHERE status = 1 ".$param3." "); Собственно, вроде теперь понятно. Но такой вариант, не знаю, не правильный на мой взгляд что ли. Может есть какая-то более удобная система организации таких запросов? P.S. Нужно это для того, чтобы через модули добавлять необходимую информацию к выборке из БД. В движке система модулей, которая через спец. фильтры может что угодно куда угодно добавить. Но эти фильтры нужно расставить. Вот и интересует какая-то правильная структура построения таких запросов, чтобы к ним можно было что-то прицепить.
ну я образно пример привет. мне постоянно рейтинг там не нужен. он в виде модуля, который по желанию цепляется. но сейчас это реализовано так, что любой модуль делается в цикле, что добавляет кучу запросов дополнительных. просто кроме варианта как привел выше в голову ничего не лезет.
Это вполне правильный вариант - формировать SQL запрос как тебе нужно. Нужно джоин - добавляй, в чем проблема
Я просто подумал, что может кто-то уже сталкивался с подобными реализациями и подсказал бы что-то. Типа каких-то конструкторов запросов или еще чего-то)
в таких случаях надо поступать именно как говорит юрий - накручивать одну ячейку. т.е. ты можешь сохранять кто где голосовал или какой рейтинг выставил, но плюсовать в ячейку и выводить информацию из нее.
igordata, тут все дело не в рейтинге) Понятно, что проще ячейку сделать и туда только количество ставить. Вся суть в том, чтобы можно было удобно добавлять к основному запросу, другие. В punbb запрос строится в массиве, а потом собирается уже в методе класса. С массивом удобнее будет работать и добавлять по ключам туда нужные значения? Код (Text): array ( 'SELECT' => 'id, name, status', 'FROM' => 'articles', 'WHERE' => 'status = 1', и т д.... )