2012-05-09 2 views
2

Я пытаюсь извлечь random записей из базы данных mysql, в которой он работал, но мне нужны записи, а также unique, когда я получаю их, когда они дублируются на выходе, вот мой код :выберите случайные уникальные записи из mysql db, используя php

<? 

for ($counter = 1; $counter <=5;$counter++) 
{ 

$randomPostSelect = mysql_query("SELECT DISTINCT * FROM beventreservation WHERE (beventStatus='online' OR beventStatus='soldout') ORDER BY RAND() LIMIT 5") or die(mysql_error()); 

$fetchPosts = mysql_fetch_array($randomPostSelect) or die(mysql_error()); 


echo '<li><a href="reservation.php?rev='.$fetchPosts['eventId'].'">'.$fetchPosts['eventTitle'].'</a></li>'; 
echo '</br>'; 
} 


?> 

как я могу это сделать?

+0

Напишите ваш запрос вне для цикла –

ответ

2

У вас есть весь код в цикле for, включая код, выполняющий запрос; вы «извлекаете» 5 строк из db, но только выбираете первый и повторяете это 5 раз. Вместо этого вы должны выполнить запрос один раз, а затем петлю на ваши результаты, пока не дойдете до конца results:

<? 
$randomPostSelect = mysql_query("SELECT DISTINCT * FROM beventreservation 
     WHERE (beventStatus='online' OR beventStatus='soldout') ORDER BY RAND() LIMIT 5") 
    or die(mysql_error()); 

while ($fetchPosts = mysql_fetch_array($randomPostSelect)) 
{ 
    echo '<li><a href="reservation.php?rev='.$fetchPosts['eventId'].'">'.$fetchPosts['eventTitle'] 
     .'</a </li>'; 
    echo '</br>'; 
} 
?> 
+1

спасибо :), я просто понять, что до 10 секунд:) , Спасибо за ваше время . –

+0

без проблем, рад, что это помогло :) –

Смежные вопросы