[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Почему работает??? :))
asdf27
Вот такой запрос:
$par=(int)$_GET[cat_id];
$res=mysql_query("SELECT * FROM links,link_category WHERE link_category.par_id='$par' AND links.cat_id=link_category.id");


$_GET[cat_id] - это идентификатор текущего каталога. Он имеет подкаталог, связь с которым через ключ par_id . Т.е. подраздел имеет свой id и ссылка на родительский каталог.

Мне нужно чтобы в каталоге выводились данные с подкаталогов (это каталог сайтов). Мне нужно сперва выбрать подкатегории, которые принадлежат к родителю, а потом вывести материалы этих подкатегорий.

В запросе я делаю выборку сперва всех категорий... и мне не ясен тут момент, что в этом же запросе у меня получилось вытянуть данные. Что получается, запрос отрабатывает первое условие, потом идет ко второму? Сам принцип не ясен.
T1grOK
Ничего не понял blink.gif

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
kaww
Что тут не понятного? вы ожидали, что нужно использовать запрос вида
select * from links 
left join link_category on links.cat_id=link_category.id
where link_category.par_id='$par'
? Но дело в том, что оптимизатор mysql сделает из этого запроса примерно то, что вы написали. Почитайте про то как работают join-ы и все станет на свои места
asdf27
Да, именно это я и имел ввиду, спасибо. Не критично использовать приведенный выше мной запрос? Тему изучу.
Игорь_Vasinsky
такой синтаксис применим
многие пользуются им т.к. боятся JOIN

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

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