Категории
[FAQ] Часто задаваемые вопросы и ответы
Проблемы и решения
Ошибки и исправления
Общие вопросы
Расширения
Установка и обновление
Модули
Шаблоны
Локализация интерфейса
Коммерческие предложения
Учимся бизнесу
Бизнес книги
Поисковая оптимизация (SEO)
Магазины на ShopOS
Хостинг для ShopOS
Предложения и пожелания
Курилка
|
Вывод категорий в PHP
тут делаю плагин галереи, и стал вопрос
как зделать при редактировании категории, родительская подкатегория была выбрана у редактированой категории
нашол кусок кода для етого дела, но как не кратил не могу выделить категорию, редактированой категории,
и еще чтобы в списке категорий не отображалась редактированная категория
function mytree($mysecid,$mysqla,$dots,$clevel) { $result22=os_db_query($mysqla); while ($row = os_db_fetch_array($result22)) { $output = '<option value="'.$row['aid'].'">'.$dots.stripslashes($row['name']).'</option>'; echo $output; $ddsqlb = "select aid, p_aid, name from ".TABLE_ALBUMS." where p_aid = '$row' order by name asc"; if ($clevel < 20) { $output = mytree($row['aid'],$ddsqlb,"-".$dots,$clevel+1); } } } $ddsqla = "select aid, p_aid, name from ".TABLE_ALBUMS." where p_aid = '0' order by name asc"; #################################################### echo '<select name="p_aid" size="1">'; mytree(0,$ddsqla,"-",0,0); echo '</select>';
как зделать при редактировании категории, родительская подкатегория была выбрана у редактированой категории
Понять бы это...
aid - ИД категории
p_aid - ид родителской категории
при редактировании категории с aid если есть у нее p_aid в селекте была бы выбрана категория p_aid = aid (родителская)
Например, так
$ddsqla = "select aid, name from ".TABLE_ALBUMS." where p_aid IN (select p_aid from ".TABLE_ALBUMS." where aid = '$curr_aid') order by name asc";
не то что нужно, зделал скрины
Примерно так:
function mytree($mysecid,$mysqla,$dots,$clevel) { global $currcat; $result22=os_db_query($mysqla); while ($row = os_db_fetch_array($result22)) { $output = '<option value="'.$row['aid'].'"'.($row['aid']==$currcat ? ' SELECTED' : '').' >'.$dots.stripslashes($row['name']).'</option>'; echo $output; $ddsqlb = "select aid, p_aid, name from ".TABLE_ALBUMS." where p_aid = '$row' order by name asc"; if ($clevel < 20) { $output = mytree($row['aid'],$ddsqlb,"-".$dots,$clevel+1); } } } $ddsqla = "select aid, p_aid, name from ".TABLE_ALBUMS." where p_aid = '0' order by name asc"; #################################################### echo '<select name="p_aid" size="1">'; mytree(0,$ddsqla,"-",0,0); echo '</select>';
А вообще код явно нерациональный и затратный в плане запросов. Кто-то написал лет десять назад такое уродство, и с тех пор, увы, тиражировано во многих местах.
ничего не вышло,
на щет кода может вы и правы, но вот только я не програмер,
может подскажите какой небуть рациональный код для етого дела, а то плагин галереи уже почти готов вот только запарка с етим и еще нужно мультиязычность доделать но думаю ето попробую осилить
Ну да, смешно))
Я тоже не понимаю как этот кусок кода может что то вывести из бд... Может кто нибудь пояснит?
Источник
|