Подгружаемая выдача

vladimircape

Новичок
Тут столкнулся с проблемой.
Есть выдача, она формируется от многих условий,что задает пользователь, т.е. не просто все подряд.
Выдача может быть с 1000 результами ,естественно такое полотно выводить нет смысла, вариант со страница не нужен, а только вариант показать еще.

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

или может до этого сформированный sql запрос сохранить например в сессии и только подставлять новый limit

Кто как подскажет быстрее и легче сделать
 

С.

Продвинутый новичок
Совершенно без разницы, тут нет "серебрянной пули". Я бы постарался обойтись всякого рода сессий (в т.ч. временных файлов). Параметры для limit можно держать в http данных.
 

vladimircape

Новичок
Совершенно без разницы, тут нет "серебрянной пули". Я бы постарался обойтись всякого рода сессий (в т.ч. временных файлов). Параметры для limit можно держать в http данных.
тут у меня еще правда используется Google API,для подсчета радиуса в котором искать, а хранимые процедуры на сервере запрещены, так что SQLзапросы чисто выполнять не получится
 

vladimircape

Новичок
Совершенно без разницы, тут нет "серебрянной пули". Я бы постарался обойтись всякого рода сессий (в т.ч. временных файлов). Параметры для limit можно держать в http данных.
тут у меня еще правда используется Google API,для подсчета радиуса в котором искать, а хранимые процедуры на сервере запрещены, так что SQLзапросы чисто выполнять не получится
 

Breeze

goshogun
Команда форума
Партнер клуба
естественно такое полотно выводить нет смысла, вариант со страница не нужен, а только вариант показать еще
реализуешь обычную постраничную выборку, потом цепляешь к этому делу какой-нибудь jquery и делаешь через него автоподгрузку следующей страницы при прокручивании текущей страницы до конца, типа как в фейсбуке или вконтактике.

при этом можно показывать кнопку "еще результатов", если js отключен
 

Breeze

goshogun
Команда форума
Партнер клуба
а как хранить результаты выборки разницы нет.
могу предложить такой вариант, не факт что самый правильный:

делаешь таблицу search_results(id, expire_time), при новом поиске заводишь запись
далее делаешь выборку в 1000 результатов, бьешь ее через array_chunk на кучу массивов, каждый в файл, файлы в папку с названием равным новой search id.
удалять кроном после expire_time

дальше сообразишь уже как постранично согласно предыдущему посту
 

vladimircape

Новичок
а как хранить результаты выборки разницы нет.
могу предложить такой вариант, не факт что самый правильный:

делаешь таблицу search_results(id, expire_time), при новом поиске заводишь запись
далее делаешь выборку в 1000 результатов, бьешь ее через array_chunk на кучу массивов, каждый в файл, файлы в папку с названием равным новой search id.
удалять кроном после expire_time

дальше сообразишь уже как постранично согласно предыдущему посту
Здесь возможны тормоза, т.к. надо создать папку ,файлы.проше всё в один файл ,а файл с метками или в json формате
Еще плохо что придется сразу в 1000 результатов, а мне например может не понадобится в 95% случаев 1000, надо как-то чтобы выбирала из базы по 10, если бы еще не поиск по радиусу, то ни каких проблем, но потом же эти результаты нужно проверять попадают ли они в радиус ,это уже делается в php.
 

Breeze

goshogun
Команда форума
Партнер клуба
ключевое слово "возможны". это раз.
ранее я писал, что как хранить результаты -- без разницы, при нормальном интерфейсе хоть в базе блоки, хоть в памяти, хоть на Марсе, если будет соответствующий транспорт. это два.

если все такое трудоемкое, то самое главное -- набрал 10-15-20 конечных результатов -- сохранил/показал, запросили еще больше -- снова здорово. запросили предыдущее -- есть уже готовое.

далее 100500 вариантов как это еще можно сделать.

кроме тебя никто достоверно не знает, что и в какой последовательности у тебя работает, где сложно, а где просто.
 
Сверху