|
|
|
(php) сортировка и фильтрация результатов запроса
|
|||
|---|---|---|---|
|
#18+
Дано: таблица TOVARY: Код: sql 1. 2. таблица SVOISTVA: Код: sql 1. 2. То есть к каждому товару есть свойства. Их может быть от нуля до трех. Делаю поиск по названию: Код: sql 1. Результат запроса в MyRez Далее перебираю результаты в цикле и для каждой записи получаю свойства этого товара: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. А теперь вопрос: про что читать в мануале на PHP, что-бы можно было сортировать/фильтровать по свойству МОДЕЛЬ после вывода результатов поиска по названию товара? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 14:34:47 |
|
||
|
(php) сортировка и фильтрация результатов запроса
|
|||
|---|---|---|---|
|
#18+
Вообще-то, - "для каждой записи получаю свойства этого товара" принято делать сразу в первом запросе (читайте JOIN, т.е. выборка из нескольких таблиц сразу); - сортировка - читайте ORDER BY. И это в мануале по MySQL, а не по PHP. Если ж вы имеете ввиду ПЕРЕсортировку уже в браузере по столбикам клацая. То а) когда у вас будет товаров на 100 страниц, то вы же не будете выбирать все 100 страниц и гнать их клиенту. Вы будете выбирать только N записей для текущей страницы. И когда пользователь нажмет "отсортировать как-то иначе", то придется повторить запрос, потому что с новой сортировкой на 5-ой странице уже будут совсем другие строки, а не те, которые сейчас. Так что - ORDER BY б) если же ситуация узкая и никакого постраничного разбиения не предусматривается, тогда все-равно PHP к ней отношения не имеет. Ибо он на сервере. Вы выдали данные в верстве клиенту. У него есть все, чтобы их сортировать и фильтровать как угодно (например, помощи JS). Было бы странно, если бы клиент присылал запрос "дай мне то же самое, что только что давал, только пересортируй иначе!". Ну а по поводу - сначала получаю товары, а потом ПО КАЖДОМУ ИЗ НИХ запускаю отдельный запрос на доп. данные - это сразу двойка. А вот сюда $query2=$query2.$_POST['BLABLA'].'"'; можно вам запостить вредоносный код, ограниченный только фантазией злоумышленника и ни на йоту не ограниченный вами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 14:51:17 |
|
||
|
(php) сортировка и фильтрация результатов запроса
|
|||
|---|---|---|---|
|
#18+
Биг сенькс за тычок носом в очевидное: зачастую замыленный глаз не видит того, что само напрашивается! Покурил, подумал, получил то, что нуно одним запросом (ну и намучился с лефт джоином - что-то они там изменили в мускуле, по сравнению с тем, что ранее пользовал, но решил) Теперь уточню вопрос по результатам первого шага. Получил результаты запроса. Показал их (ну немного их - на одной странице терпимо показываются). Как "перерисовать" страницу с результатами, не обращаясь мускулю, отфильтровав только по значению МОДЕЛЬ? Т.е.: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. Особо хочу обратить внимание что хочу это получить БЕЗ ПОВТОРНОГО обращения к мускулю (с новым запросом - все понятно, но долго-18-35 сек. Один раз пользователь подождет, но вот второй-третий-четвертый уже не хочется). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 16:53:31 |
|
||
|
(php) сортировка и фильтрация результатов запроса
|
|||
|---|---|---|---|
|
#18+
Делать это надо не средствами php, а яваскриптом в браузере. А если средствами php, то логично, что значит все результаты запросов нужно куда-то сохранять, пока не станет очевидно, что за ними повторно не обратятся. Ну сам понимаешь... Мускуль это и есть хранилище. Если уж ради того, чтобы не учить js, ты готов ради вшивой сортировки двух десятков строк снова обращаться к серверу - тогда таки через мускуль. Тем более, что если в этих таблицах за это время ничего не поменялось, а кеш запросов включен - он и сам уже сохранил этот результ и выдаст его тебе. И что ты там так выбираешь, что по 30 сек? Неуж-то 100500 строк (пол базы одним махом)? =))) Это не нормально, такие запросы на выборку. Это какой-то сложный отчет пару раз в сутки выполнить админу - ладно еще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 17:10:42 |
|
||
|
(php) сортировка и фильтрация результатов запроса
|
|||
|---|---|---|---|
|
#18+
а сортировать в php - курить не надо. sort ищи. Гугль выкурит мануал в первой же ссылке (если конечно к sort ты припишешь php). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 17:11:53 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=37786191&tid=1465192]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 191ms |
| total: | 454ms |

| 0 / 0 |
