Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Рандомный вывод из группы строк
 
 автор: Habl   (23.11.2011 в 23:44)   письмо автору
 
 

Всем привет!
У меня проблема с рандомным выводом строк.
Использую ORDER BY RAND() LIMIT 1, случайная выборка из 10 происходит, но она повторяет некоторые значения по несколько раз срау, а мне нужно чтобы нечего не повторялось.
Заранее спасибо за ответ.

  Ответить  
 
 автор: cheops   (24.11.2011 в 00:04)   письмо автору
 
   для: Habl   (23.11.2011 в 23:44)
 

Нужно больше информации о задаче... для чего используются случайные значения и почему так важно их не повторение? Ведь если будет выбираться более 10 значений, повторы неизбежны, значит у вас менее 10 раз происходит выборка? Если да, то какие интервалы между ними - это единая Web-сессия, MySQL-сессия?

  Ответить  
 
 автор: Habl   (24.11.2011 в 10:20)   письмо автору
 
   для: cheops   (24.11.2011 в 00:04)
 

(PHP код)
<?php include("db.php");

$result = mysql_query("SELECT left_c,right_c FROM table WHERE page='unic' ORDER BY RAND LIMIT() 1",$db);

$myrow = mysql_fetch_array($result);
?>
(HTML код)
<tr>
<td><?php echo $myrow['left_c']; ?></td>
<td class="td_center td_width">спортивное питание</td>
<td class="td_vibor"><input type="checkbox" name="proverka" value="p"></td>
<td><?php echo $myrow['right_c']; ?></td>
</tr>

Существует вот такая конструкция, нужно чтобы к слову спортивное питание подставлялось уникальное словосочетание к правой и левой колонке, после каждого обновления страницы.
В таблице уже есть 10 строк с правыми и левыми словосочетаниями.
Но у меня все ровно при обновлении страницы некоторые словосочетания повторяются по несколько раз, а нужно чтобы после каждого обновления страницы из базы выводилось каждый раз уникальное значение и желательно рандомно.
Подскажите плиз как это реализовать?

  Ответить  
 
 автор: cheops   (24.11.2011 в 12:14)   письмо автору
 
   для: Habl   (24.11.2011 в 10:20)
 

Вот чего не понимаю, а если человек нажмет 11 раз обновить страницу? Ведь потора все-равно не избежать?

PS Может просто держать в таблице записи в случайном порядке и их циклически выводить при каждом обновлении, сохраняя информацию о текущем или следующем значении в сессии?

  Ответить  
 
 автор: Habl   (24.11.2011 в 12:52)   письмо автору
 
   для: cheops   (24.11.2011 в 12:14)
 

Все верно если человек нажмет на обновление 11 раз повтор будет, но до этого 11-го раза хочется чтобы значения не повторялись.

  Ответить  
 
 автор: cheops   (24.11.2011 в 12:58)   письмо автору
 
   для: Habl   (24.11.2011 в 12:52)
 

Может тогда действительно цикл организовать, с сохранением состояния в сессии?

  Ответить  
 
 автор: Habl   (24.11.2011 в 13:08)   письмо автору
 
   для: cheops   (24.11.2011 в 12:58)
 

Спасибо буду пробовать, если будут трудности обращусь к вам.
Еще раз спасибо. :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования