|
|
|
| Думаю я над этим вопросом уже довольно долго,и никак не могу найти хоть какого-нибудь решения.
есть таблица c именем "article"
id | name | desription | article
|
Присутствует форма поиска,в которую пользователь вводит определенные критерии поиска.
В итоге получается запрос типа
SELECT id FROM article WHERE name='Александр'
|
А вот теперь сам вопрос.
Как мне сделать постраничную навигаю?
да не простую,а вот такую:
1.Список должен быть не упорядоченным по id,то есть хаотичным,как скрипту вздумается,в такой последовательности
и должен выводить)
2.Есть 5 страниц.При переходе на следующую страницу,не должен происходить запрос
SELECT id FROM article WHERE name='Александр'
|
Если бы мне не требовалось вывод хаотически,то просто воспользоваться LIMIT(m,n) и все.
Список id должен быть неизменным.Ну всмысле если при каждом переходе делать выборку id,
то на следующей странице могут оказаться те же самые результаты.
Как лучше передать список id,через запрос,или через скрытые поля в форме?вот собственно второй вопрос.
Извиняюсь,что непонятно описал ситуацию,но надеюсь вы догадались,о чем я) | |
|
|
|
|
|
|
|
для: THERAPYbrother
(29.01.2008 в 01:35)
| | По второму - что вам удобнее, без разницы | |
|
|
|
|
|
|
|
для: THERAPYbrother
(29.01.2008 в 01:35)
| | Записи не будут повторятся на второй странице - они будут выводится в том порядке, в котором лежат в таблице - если во время навигации не происходит перестройки таблицы (удаление, вставка, обновление) - повторов не будет. | |
|
|
|
|
|
|
|
для: cheops
(29.01.2008 в 14:36)
| | В том то и проблема,что мне нужно выводить не в том порядке,в котором они в таблице,а хаотически,не так,как они лежат. | |
|
|
|
|
|
|
|
для: THERAPYbrother
(29.01.2008 в 14:51)
| | честно не много не понятен вопрос....
Но если я правильно понял то можно просто результат SQL запроса загнать в массив
и воспользоваться функцией Shuffle для того чтобы хаотически перемешать значения в массиве
ну, а потом вывести эти значения.... | |
|
|
|
|
|
|
|
для: mirage
(29.01.2008 в 18:28)
| | Вот,это мне и требовалось,спасибо большое.
А еще подскажите,как лучше передать массив на следующую страницу? | |
|
|
|
|
|
|
|
для: THERAPYbrother
(30.01.2008 в 07:21)
| | По моему мы тут по кругу кружимся :),
1. формируете по страничную навигацию... запросом SELECT id FROM article WHERE name='Александр'
2. Формируем SQL запрос для вывода значений на странице - SELECT id FROM article WHERE name='Александр' LIMIT (m,n)
3. Загоняете в массив результат SQL запроса, хаотично перемешиваете значения........
4. Выводите из массива данные на страницу.
Вот и все.
Т.е у нас на каждой странице будут одни и теже записи в пределе LIMIT (m,n), только их вывод будет хаотичен..........
Если же Вы хотите чтобы и на страницах были случайные записи, то можно сразу записать результат запроса - SELECT id FROM article WHERE name='Александр' - в массив, перемешать его, а потом из массива записать в БД в какую нибудь вспомогательную табличку. и уже оттуда вывести их обычном методом постраничной навигации.....
Только наверное уже на производительность скрипта этот метод скажется не в лучшую сторону... :) | |
|
|
|
|
|
|
|
для: Mirage
(30.01.2008 в 13:50)
| |
Если же Вы хотите чтобы и на страницах были случайные записи,
то можно сразу записать результат запроса -
SELECT id FROM article WHERE name='Александр' -
в массив, перемешать его, а потом из массива записать в БД в какую нибудь вспомогательную
табличку. и уже оттуда вывести их обычном методом постраничной навигации.....
|
во,поняли мою задачу?)
подсказали вы конечно вариант хороший,только быстродействие наверн будет хромать((
можно конечно get'ом все передавать,но там опять надо будет париться(( | |
|
|
|