<SELECT для большого количества пунктов

12
D5
На сайте с 01.06.2004
Offline
51
#11

Запрос который в первом посте он же один всего. А остальные 1781 надо залогировать и посмотреть. Если есть какая-то одна функция куда приходят все sql запросы, в ней прям сделать запись в лог.

Программирование сайтов (http://lindir.ru)
A
На сайте с 19.07.2010
Offline
130
#12

я уже пасс, работать телепатом - это не мое... :)

.............
PN
На сайте с 01.05.2008
Offline
113
#13

Все правильно. Запрос не один.

echo '<option value="'.$row['cat_id'].'" '.$selected.'> '.select_category_tree('cat_page',$row['cat_id'],$cat_page_lang,'','form_list2').' <i>'.$row['cat_val_title'].'</i></option>';

select_category_tree - выбирает и рисует дерево до этой категории которая выбрана в запросе ($row['cat_id']). Цикл выводит все категории и к каждой идет запрос что бы получилось дерево.

Dreammaker
На сайте с 20.04.2006
Offline
569
#14

Prosto_niki, смотрите в сторону Nested sets, Adjacency list.

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#15

Вообще в select-е 800 позиций это ужас... точнее это ужасно не удобно.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
PN
На сайте с 01.05.2008
Offline
113
#16

А как обойти тогда? 800 категорий то существуют :)

Dreammaker:
Prosto_niki, смотрите в сторону Nested sets, Adjacency list.

Полез смотреть. Спасибо.

D5
На сайте с 01.06.2004
Offline
51
#17

Некоторые выборки из дерева типа Adjacency list можно сократить до 1го запроса (например, выбор пути к ветке/листу) путем построения доп. индекса.

Также можно строить дерево в памяти с помощью скрипта по списку (для 800 значений это будет вероятно намного эффективнее, чем 800 запросов)

PN
На сайте с 01.05.2008
Offline
113
#18
dk547:
Некоторые выборки из дерева типа Adjacency list можно сократить до 1го запроса (например, выбор пути к ветке/листу) путем построения доп. индекса.

Также можно строить дерево в памяти с помощью скрипта по списку (для 800 значений это будет вероятно намного эффективнее, чем 800 запросов)

Я это уже обошел. У меня рисует дерево и забивается в базу (вид - 1,2,31,16,17)

Потом SELECT IN(...)

И рисуется дерево... Однако тут вывод разовый - супер. А для 800 категорий - черезчур.

firefox19
На сайте с 05.11.2009
Offline
34
#19

сделайте один запрос на выборку (ессно без полей содержимого), загоните в массив и работайте уже с ним.

Ваши идеи - наша работа (http://yaweb.ru) Продам Сайт агентства недвижимости (/ru/forum/561489)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий