![]() |
|
||||||||||
|
|||||
|
Подсакажите как сделать рандом запрос.
я пытаюсь выбрать одну строку в рандомальном порядке где recommended='1', как ето можно вычеслить на PHP? Без использования RANDOM().
__________________
EVIL-HORSE |
|
|||||
|
Выбрать твою квери и в пхп и сделать rand(0, $max), прежде не забыв "рандомизировать" с помощью srand() ($max в ранде должен равнятся mysql_num_rows() твоего кверя).
Дальше - mysql_data_seek к получившимуся ранду... Кстати, почему бы не актуализировать заведомо глючный мускул? |
|
|||||
|
Ты бы не мог на примере ето показать?
//please
__________________
EVIL-HORSE |
|
|||||
|
$sql_q = "SELECT * FROM travel WHERE recommended='1' "
$qw = mysql_db_query($db, $sql_q); $max = mysql_num_rows($qw); $random_q = random(0, $max); mysql_db_seek($qw, $random); // dalshe delayesh mysql_result i vse chto tebe nado function random ($min, $max) { list($usec, $sec) = explode(' ', microtime()); $rand_t = $sec + ((float) $usec * 100000); srand($rand_t); return rand($min, $max); } |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Ужас какой... Тянуть из базы туеву хучу строк, чтобы выбрать одну. Кто-то из мудрых советовал так:
Это работает даже в MySQL с глюком оптимизатора...
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
Мдя, быть может тоже правда. Хотя в принципе то order by rand тоже присутвует. Да и ху*ву тучу строк из базы тянуть не обязательно.
Запрос увесистый получается? Вопрос правильной организации данных (и конечно - качественого администрирования и апдейта мускула). Вот что странно : этот глюк касается только виндовозкого мускула (http://groups.google.com/groups?q=my....edu.tw&rnum=2) . Очень сомниваюсь что-бы на хостинге автора стоял Windows + Mysql . То есь на локалхосте проблемма? Почему бы его не обновить на более стабильную версию ? |
|
|||||
|
//
RAND() не отзывается хоть как на mysql 3.23.xx точно ты заметил что Bug только на Windows Cделал Upgrate to mysql 4.0.16 и всё ok, rand() работает как следует.
__________________
EVIL-HORSE |
|
|||||
|
Ветеран форума
|
а в мануале советуют MD5(RAND()) - я так пробовал...
работало... |
|
|||||
|
Оно так типа лучше рандомируется если с MD5?
![]() Мне нужно что бы на заглавной странитце при загрузке поевлялось ADV, поетому нужен хороший рандомайзер.
__________________
EVIL-HORSE Последний раз редактировалось silgd; 11.11.2003 в 01:14. |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Цитата:
P.S. В версии 3.23.XX нет никакого глюка с rand. Там есть глюк с оптимизатором запросов.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ Последний раз редактировалось Crazy; 11.11.2003 в 01:38. |
![]() |
Часовой пояс GMT +4, время: 06:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|