asdf27
29.01.2013 - 03:49
Вот такой запрос:
$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
29.01.2013 - 11:37
Ничего не понял
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Что тут не понятного? вы ожидали, что нужно использовать запрос вида
select * from links
left join link_category on links.cat_id=link_category.id
where link_category.par_id='$par'
? Но дело в том, что оптимизатор mysql сделает из этого запроса примерно то, что вы написали. Почитайте про то как работают join-ы и все станет на свои места
asdf27
29.01.2013 - 21:38
Да, именно это я и имел ввиду, спасибо. Не критично использовать приведенный выше мной запрос? Тему изучу.
Игорь_Vasinsky
30.01.2013 - 02:01
такой синтаксис применим
многие пользуются им т.к. боятся 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