|
|
![](flycatimages/misc/snbg.gif) |
![](flycatimages/misc/tl.gif) |
|
![](flycatimages/misc/tr.gif) |
|
16.06.2006, 20:00
Если можно, переименуйте топик, потому что как коротко сформулировать свой вопрос незнаю.
Изменяю модуль Download, там в таблице downloads_categories есть поля cid, title и parentid.
Нужно имея значения поля parentid вынуть название title из того cid, который указан parentid.
..... умно так сказал, сам не понял :)
На примере, вот таблица:
CREATE TABLE `downloads_categories` (
`cid` int(11) NOT NULL auto_increment,
`title` varchar(50) NOT NULL default '',
`cdescription` text NOT NULL,
`parentid` int(11) NOT NULL default '0',
PRIMARY KEY (`cid`),
KEY `cid` (`cid`),
KEY `title` (`title`)
)
downloads_categories` VALUES (1, 'Программы', '', 0);
downloads_categories` VALUES (2, 'Графика и дизайн', '', 1);
downloads_categories` VALUES (3, 'Графика', '', 0);
downloads_categories` VALUES (4, 'Сканы', '', 3);
downloads_categories` VALUES (5, 'Иконки и смайлики', '', 3);
downloads_categories` VALUES (6, 'Анимация GIF', '', 3);
После запроса в базу получаем данные из CID 5. Выводим подраздел: Иконки и смайлики и имеем 2 значения CID и PARENTID.
Нужно зная этот PARENTID=3 вывести еще TITLE Графика, CID которого=3
Чтобы получилось Раздел: Графика. Подраздел: Иконки и смайлики.
------------
Насколько я понимаю, еще раз сделать запрос в БД, где CD=3.
Правильно ли понимаю, или можно проще?
|
|
|
|
![](flycatimages/misc/pbbg.gif) |
|
![](flycatimages/misc/gl.gif) |
|
![](flycatimages/misc/gr.gif) |
|
16.06.2006, 21:56
да все правильно понимаете, единственное можно сразу вывести всю таблицу downloads_categories и завести ее в массив, а затем выводить данные по cid
|
|
|
|
|
|
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть". |
|
|
|
|
|
|
![](flycatimages/misc/pbbg.gif) |
|
|
20.06.2006, 21:44
Еще вопросик. Хочу сделать вывод всех файлов, которые относятся к категории, а в таблице для файлов нет parentid.
Условие, если parentid=0, то это главная категория и зная ее CID нужно найти из остальных записей, где parentid=ее cid. И потом по найденым записям и их cid запросить уже из другой таблицы файлы....
Понятия не имею как такое возможно сделать и возможно ли вообще?
Неохто переделывать админку и добавлеть поле parentid в сами файлы, но чувствую придется :)
|
|
|
|
![](flycatimages/misc/pbbg.gif) |
|
|
21.06.2006, 01:13
это выполнить довольно просто при помощи сложного запроса используя например такой оператор как Left Join
|
|
|
|
|
|
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть". |
|
|
|
|
|
|
![](flycatimages/misc/pbbg.gif) |
|
|
21.06.2006, 22:29
Если не сложно и будет свободная минутка, не могли вы запрос этот поправить...
Left Join у меня только на примере оптимизации новостей, а тут еще и условие... не соображу никак...
$result = $db->sql_query("SELECT d.*, c.* FROM ".$prefix."_downloads_downloads AS d LEFT JOIN ".$prefix."_downloads_categories AS c ON(c.parentid='$cid') order by $orderby limit $min,$perpage");
Нужно вынуть все файлы, CID которых = CID категорий, а те в свою очередь найти, зная их PARENTID равный настоящему CID..
Запутался капитально с этими CID.. даже вопрос сфигурировать сложно...
|
|
|
|
![](flycatimages/misc/pbbg.gif) |
|
|
22.06.2006, 18:58
--------
вроде разобрался, только не через Left Join, но тоже запросом сразу в 2 таблицы.
|
|
|
|
![](flycatimages/misc/pbbg.gif) |
|
Опции темы |
Поиск в этой теме |
|
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:23.
|
![](flycatimages/misc/fl.gif) |
|
![](flycatimages/misc/fr.gif) |
|
![](flycatimages/misc/vbbg.gif) |
![](flycatimages/misc/botl.gif) |
|
![](flycatimages/misc/botr.gif) |
![](flycatimages/misc/botcp.gif) |
|
![](flycatimages/misc/botcp.gif) |
|