|
|
|
| Ситуация такая :
Есть некая страница на которой пользователи сайта могут голосовать за работы других пользователей. Необходимо выводить на страницу оценивания работу, взятую из базы случайным порядком. Пробывал использовать $rand_id = rand (1, $max_id); где $max_id числовой идентификатор самой последней загруженной работы. И таким образом выводить из базы случайные работы. Вроди за работало, но возникла проблема. Когда пользователи удаляют работы из базы то id этих работ тоже тю-тю.
Вот вопросы:
- Как зделать так чтобы выводились только те работы которые существуют?
- Может кто подскажет более разумный способ вывода из базы в случайном порядке и желательно с минимальной повторяемостью.
Хотелось бы получить в результате чтото вроди этого : http://my.mail.ru/cgi-bin/my/photo_for_vote
Заранее спасибо! | |
|
|
|
|
|
|
|
для: Kaje
(23.07.2009 в 20:36)
| |
$query="SELECT * FROM photo";
$res=mysql_query($query);
$rand_id=rand(0,mysql_num_rows($res)-1);
echo "<img src=images/".mysql_result($res,$rand_id,'photo_img').">";
|
| |
|
|
|
|
|
|
|
для: Mirage
(23.07.2009 в 21:00)
| | В MySQL для этого есть ORDER BY RAND() . | |
|
|
|
|
|
|
|
для: Trianon
(23.07.2009 в 21:03)
| | Блин начал придумывать "велосипед"... Поторопился, забыл про ORDER BY RAND() ... :( | |
|
|
|
|
|
|
|
для: Mirage
(23.07.2009 в 21:00)
| | $query="SELECT * FROM photo ORDER BY RAND() LIMIT 1"; | |
|
|
|
|
|
|
|
для: Valick
(23.07.2009 в 21:05)
| | LIMIT 1 зачем?
человеку явно их нужно несколько. | |
|
|
|
|
|
|
|
для: Trianon
(23.07.2009 в 21:20)
| | Ну если он хочет как на странице http://my.mail.ru/cgi-bin/my/photo_for_vote
То ему скорее всего нужна одна фотка. | |
|
|
|
|
|
|
|
для: Trianon
(23.07.2009 в 21:20)
| | оценивания работу, взятую из базы случайным порядком
вроде единственное число, а там пусть берёт сколько хочет | |
|
|
|
|
|
|
|
для: Valick
(23.07.2009 в 21:05)
| | Благодарю за помощь. За этот случайный вывод я даже и не догадывался. Оператывно сработали ХлоПцы. | |
|
|
|
|
|
|
|
для: Kaje
(23.07.2009 в 21:27)
| | много чего можно сделать средствами СУБД | |
|
|
|