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"
$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); |
ЗЫ уже дали, кто вперед, тому красный самолет
Спустя 3 минуты, 22 секунды (28.06.2009 - 22:42) Krevedko написал(а):
Цитата (twin @ 28.06.2009 - 19:39) | ||
Неверное решение. При автоинкременте в ряде id могут оказаться пропуски, если строка была удалена. И тогда будет пшик. Можешь так сделать, если таблица не ооочень большая, а то может тормозить.
ЗЫ уже дали, кто вперед, тому красный самолет |
А там можно проверочку сделать и если id не существует, то повторить
Но вообще все оказалось еще проще...честно говоря про ORDER BY RAND() LIMIT 1
даже не знал. Точнее знал только про LIMIT....
Поясню для Вивтора. Порядок сортировки становится случайным, а Лимит нужен для того, чтобы вытаскивалась только одна запись....верхняя.
Спустя 3 минуты, 18 секунд (28.06.2009 - 22:46) glock18 написал(а):
Цитата (twin @ 28.06.2009 - 19:39) |
ЗЫ уже дали, кто вперед, тому красный самолет smile.gif |
о, а об этом я не знал
Цитата (Krevedko @ 28.06.2009 - 19:42) |
А там можно проверочку сделать и если id не существует, то повторить |
вот это не очень хорошо, потому что такая мелочь может стоить много процессорного времени. я бы сказал "очень нехорошо"