ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

sql постраничный вывод в случайном порядке
  #1  
Старый 22.03.2009, 16:39
malik555
Участник форума
Регистрация: 04.02.2009
Сообщений: 132
Провел на форуме:
350627

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

Все привет !

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

можно так

Код:
$sql = mysql_query ("SELECT * FROM         table             WHERE id='444'         order by rand() LIMIT 1, 20");
НО ТОГДА ПОСТРАНИЧНЫЙ ВЫВОД НЕ РАБОТАЕТ !
 

  #2  
Старый 22.03.2009, 17:08
-=Static=-
Участник форума
Регистрация: 12.11.2006
Сообщений: 213
Провел на форуме:
347573

Репутация: 185
По умолчанию

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

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

Либо делай выборку с 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

Последний раз редактировалось -=Static=-; 22.03.2009 в 17:11..
 

  #3  
Старый 22.03.2009, 17:38
malik555
Участник форума
Регистрация: 04.02.2009
Сообщений: 132
Провел на форуме:
350627

Репутация: 1
По умолчанию

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

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

  #4  
Старый 22.03.2009, 18:00
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

0, 20
 

  #5  
Старый 22.03.2009, 20:12
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

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





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ