PDA

Просмотр полной версии : sql постраничный вывод в случайном порядке


malik555
22.03.2009, 16:39
Все привет !

Подскажите как сделать вывод из базы инфы в случайном порядке и с постраничным выводом

можно так


$sql = mysql_query ("SELECT * FROM table WHERE id='444' order by rand() LIMIT 1, 20");



НО ТОГДА ПОСТРАНИЧНЫЙ ВЫВОД НЕ РАБОТАЕТ !

-=Static=-
22.03.2009, 17:08
Что-то я не очень понимаю, что значит "вывод из базы инфы в случайном порядке и с постраничным выводом"??

Если ты хочешь на каждой странице делать запрос, то никак. Точней надо как-то исключать возможность выбора того что уже было выбрано на предидущей странице. И переход по страницам будет строгий. с превой тока на вторую.

Либо делай выборку с ORDER BY RAND() суй массив выборки в сессию например, и пагинатором выбирай соответствующие ячейки массива

Или доставай просто SELECT * FROM `Table` LIMIT 1,20
Далее набираешь выорку в массив и делаешь shuffle()


Вот что сразу в голову приходит :)

=========================================

$sql = mysql_query ("SELECT * FROM table WHERE id='444' order by rand() LIMIT 1, 20");

Что то я не пойму??? Ты достаешь из таблицы table запись с id=444 и хочешь чтоб их там много было?? Или как? Тут ни ORDER ни LIMIT не нужен. Если у тя конечно уникальные id

malik555
22.03.2009, 17:38
Ну смотри , мне нужно выводить информацию из таблицы с постраничным выводом , плюс на кажбой страницы перемешивать !

помоему мне shuffle() - это как раз то что нужно - спасибо !

GreenBear
22.03.2009, 18:00
0, 20

GreenBear
22.03.2009, 20:12
на след. странице в таком случае может вывести то, что уже выводилось.