Форум на Kuban.ru (http://forums.kuban.ru/)
-   Веб-дизайн и программирование (http://forums.kuban.ru/f1030/)
-   -   PHP + select, можно ли оптимизировать? (http://forums.kuban.ru/f1030/php_select_mozhno_li_optimizirovat--7975637.html)

Sany81 23.08.2016 16:56

PHP + select, можно ли оптимизировать?
 
добрый день.
Есть табличка со строками заказа товара.
в этой табличке есть колонка с типом заказа SELECT
Если смотреть сформированный HTML то получается что то вроде этого:
<tr>
<td>Товар2</td>
<td>
<select>
<option disabled selected></option>
<option value='00001'>Тип1</option>
<option value='00002'>Тип2</option>
<option value='00003'>Тип3</option>
<option value='00004'>Тип4</option>
</select></td></tr>
<tr>
<td>Товар2</td>
<td>
<select>
<option disabled selected></option>
<option value='00001'>Тип1</option>
<option value='00002'>Тип2</option>
<option value='00003'>Тип3</option>
<option value='00004'>Тип4</option>
</select></td></tr>

В общем у меня 3 сотни товаров, и полтора десятка типов, следовательно будет выведено в HTML 4500 опшинсов.
А можно как то упросить запись, что бы меньше "букавак" было в итоговом HTML

fanatnascar 26.08.2016 19:35

Сделать на аяксе поиск и выбор, по первым введенным буквам или совпадению. И пополнение списка результатом поиска.
Примеров в гугле полно.

40KHYTbIU 26.08.2016 21:18

0-sany81 > какую проблему решаете?
Наводящие вопросы:
- надо тебе выводить все или пойдет пейджинг?
- чем большая страница плоха в вашем случае? вариантов много, но хорошо бы понимать.
- привнесение динамической подгрузки товаров и/или типов принесет пользу или вред?

Sany81 27.08.2016 22:07

Сайт для заказов товара, пишется для использования на мобильниках с диагональю не более 5"
Поэтому чем меньше будет весить страница тем лучше.

Ввод по первым буквам не интересен, не удобно с мобилки вводить буквы, нужен именно выпадающий список, в котором будет порядком 15 вариантов. К тому же желательно что бы еще и некий идентификатор выбранного значения присутствовал, по этим параметрам подходит select, но тогда сильно увеличивается код страницы.

SanekSp 28.08.2016 15:33

3-sany81 >Вопрос - А зачем все товары вываливать одной Страничкой?
Обычно однотипные товары объединяют в Группы и на страничку выводят 1 группу, это уже меньше буковок в HTML :)
А если в группе слишком много Товара то и ее можно разбить на несколько страниц (1, 2, 3, итд) по 10 - 20 товаров на странице.
В результате получаем Легенькую страничку HTML кода и не паримся на счет select !

Sany81 29.08.2016 13:54

у меня так и выводится, пару десятков групп, но при этом в ХТМЛ выводятся все товары, просто их видимость регулируется через DISPLAY у DIV группы.
Торговым удобно видеть весь все группы и товар выбранной или выбранных групп, поэтому переносить товар со страницы на страницу не вариант.

SanekSp 30.08.2016 11:02

5-sany81 >Ну если Видимость регулируется через display, то что Вам мешает просто подгружать товар в div через AJAX или jQuery.
Создаем страничку Групп товаров и вставляем в нее обработчик события onclick по группе, который через POST или GET запрос загружает товар группы.
И ВСЕ - больше не паримся о select :)

mips 04.09.2016 18:20

Просто интересно зачем выводить сразу триста товаров да ещё и на 5" экран? Осуществляй подгрузку ajax'ом при скролировании, загружай только название товара. При клике на товар подгружай его тип и выводи в селект. Кстати, селект не всегда удобен. Каждый мобильный браузер его обрабатывает по своему, вылезая за пределы экрана, кривой скролл и т.д.. Порой селект удобнее заменить кнопками, создаными из дивов.

суслик 05.09.2016 06:19

вот так тоже будет работать:
<select>
<option disabled selected />
<option value='00001'>Тип1
<option value='00002'>Тип2
<option value='00003'>Тип3
...
</select>


Текущее время: 05:23. Часовой пояс GMT +3.