Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Случайная строка из базы sqlite

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Случайная строка из базы sqlite
Имя
Сообщение << Старые топики   Новые топики >>
Случайная строка из базы sqlite - 2007-01-07 06:23:54.323333   
Kasper_WPS

Сообщений: 9
Оценки: 0
Присоединился: 2005-09-03 13:45:00
Подскажите плиз, как случайным образом выдернуть строку из таблицы в sqlite?
И еще вопрос как определить количество строк в таблице того же sqlite, конструкции sqlite_query('SELECT * FROM table WHERE 1'); - не подходят, слишком долго работают…
Post #: 1
RE: Случайная строка из базы sqlite - 2007-01-07 15:26:42.550000   
deniska

Сообщений: 25
Оценки: 0
Присоединился: 2006-12-08 21:02:11.436666
Попробуй так:
$res = sqlite_query("SELECT count(*) FROM table"); - считаем кол-во строк
$kolvo_strok = sqlite_fetch_single($res);
$random_row = rand(0, $kolbo_strok); - генерируем случайный номер строки
$sql_query_rand_row = "SELECT * FROM table LIMIT ".$randow_row.", 1";
sqlite_query($sql_query_rand_row);
Все равно будет не очень быстро. Чтобы ускорить нужно знать структуру твоей таблицы. Если есть primary key (INT) - и все значения сгенерированы по порядку (т.е. никогда не удалялись записи из таблицы), тогда последний запрос по primary key делаем, например: "SELECT * FROM table WHERE id = ".$randow_row
Post #: 2
RE: Случайная строка из базы sqlite - 2007-01-07 15:58:18.853333   
Kasper_WPS

Сообщений: 9
Оценки: 0
Присоединился: 2005-09-03 13:45:00
Спасибо! Понял. Лучше ввести еще одну таблицу с инкриментом и декриментом при записи или удалении.
Post #: 3
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Случайная строка из базы sqlite







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.