[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP MYSQL zapros
Vivtor
pomogite pojalusta kak zdelati shtob vibor iz bazi danih bil slu4ainim ...

toesti esli napesati $result = mysql_query("SELECT * FROM table ,$db")
to on dast mne vse stroki iz table ,, a mne nad 4tob on dal mne toka odnu stroku i 4tob ona bilo slu4ainoi ,,, kak eto zdelati ??,, ia neznaiu eshio vse functsi php i mne o4eni nujna vasha pomashi .. zaranee sposibo



Спустя 6 минут, 32 секунды (28.06.2009 - 22:33) Krevedko написал(а):
вообще в пхп случайное число делается так
$rnd= rand(1,10);
присвоит случайное число в промежутке от 1 до 10.
вместо цифр 1 и 10 можно подставить скажем первый и последний id в таблице в базе данных.
Это мои так сказать размышления и имхо.
Ну и потом делаешь
"SELECT * FROM table WHERE id=$rnd,$db"

Спустя 3 минуты, 57 секунд (28.06.2009 - 22:37) Guest написал(а):
spasibo prosta eshio ne znaiu vse functsii php ... otvet okazalsia o4eni logi4en i prostoi ..

Спустя 1 минута, 11 секунд (28.06.2009 - 22:38) glock18 написал(а):
Цитата (Vivtor @ 28.06.2009 - 19:26)
$result = mysql_query("SELECT * FROM table ,$db")

к слову, так он вам ничего не даст.

для того что бы дал одну случайную строку можно так

PHP
$result mysql_query("SELECT * FROM `table` ORDER BY RAND LIMIT 1"$db);


PS: в будущем пишите по-русски.

Спустя 43 секунды (28.06.2009 - 22:39) twin написал(а):
Неверное решение. При автоинкременте в ряде id могут оказаться пропуски, если строка была удалена. И тогда будет пшик.
Можешь так сделать, если таблица не ооочень большая, а то может тормозить.

PHP
$result = mysql_query("SELECT * FROM table ORDER BY RAND() LIMIT 1",$db);

ЗЫ уже дали, кто вперед, тому красный самолет smile.gif

Спустя 3 минуты, 22 секунды (28.06.2009 - 22:42) Krevedko написал(а):
Цитата (twin @ 28.06.2009 - 19:39)
Неверное решение. При автоинкременте в ряде id могут оказаться пропуски, если строка была удалена. И тогда будет пшик.
Можешь так сделать, если таблица не ооочень большая, а то может тормозить.

PHP
$result = mysql_query("SELECT * FROM table ORDER BY RAND() LIMIT 1",$db);

ЗЫ уже дали, кто вперед, тому красный самолет  smile.gif

А там можно проверочку сделать и если id не существует, то повторить smile.gif
Но вообще все оказалось еще проще...честно говоря про ORDER BY RAND() LIMIT 1
даже не знал. Точнее знал только про LIMIT....
Поясню для Вивтора. Порядок сортировки становится случайным, а Лимит нужен для того, чтобы вытаскивалась только одна запись....верхняя.

Спустя 3 минуты, 18 секунд (28.06.2009 - 22:46) glock18 написал(а):
Цитата (twin @ 28.06.2009 - 19:39)
ЗЫ уже дали, кто вперед, тому красный самолет smile.gif


о, а об этом я не знал smile.gif

Цитата (Krevedko @ 28.06.2009 - 19:42)
А там можно проверочку сделать и если id не существует, то повторить

вот это не очень хорошо, потому что такая мелочь может стоить много процессорного времени. я бы сказал "очень нехорошо" smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.