Вообщем есть 3 таблицы
project
id | title | date
category
id | title
category_project
id_project | id_category
пол ночи у компа ща заклинило немогу сделать и все....
вот только такое лезит в голову....
PHP |
$res = mysql_query("SELECT `id`,`title` FROM `project`"); |
SQL |
IN (1, 3, 5, 8) |
SQL |
SELECT cp.id_project, cp.`id_category`, ct.`title` FROM `category_project` as cp JOIN `category` as ct ON ct.`id`=cp.`id_category` WHERE cp.`id_project`IN (#сформированная строка#) |
Цитата (glock18 @ 13.05.2009 - 05:26) |
Еще раз повторю: не используйте запросы внутри цикла! |
SQL |
SELECT cp.id_project, cp.`id_category`, ct.`title` FROM `category_project` as cp JOIN `category` as ct ON ct.`id`=cp.`id_category` WHERE cp.`id_project`IN (#сформированная строка#) |
Цитата (glock18 @ 13.05.2009 - 07:30) |
Поверь, это будет на порядки быстрее, чем выполнять запросы в цикле. Вообще, я не рекомендовал бы вытаскивать все одним запросом, но если ты настаиваешь, могу постараться помочь тебе в этом)))) Подтверди только свои намерения)) |
SQL |
SELECT cp.id_project, cp.`id_category`, ct.`title` FROM `project` as p JOIN `category_project` as cp ON p.id = cp.id_project JOIN `category` as ct ON ct.`id`=cp.`id_category` |
SQL |
SELECT pr.`id`,pr.`title`,pr.`description`,pr.`date`,pr.`price`,pr.`term`, im.`sub_image` as `image`, (SELECT GROUP_CONCAT(t2.title) FROM `sspy_portfolio_category_conect` as t1, `sspy_portfolio_category` as t2 WHERE t1.`id_project`=pr.`id` AND t2.`id`=t1.`id_category` ) as cetegory FROM `portfolio_project` as pr, `portfolio_images` as im WHERE pr.`public`='1' AND im.`id`=pr.`id_image` ORDER BY `id` DESC " |