2012-05-09 2 views
2

mysql 데이터베이스에서레코드를 가져 오는 중입니다.하지만 출력에 복제 할 때 가져올 레코드가 unique이어야합니다. 여기에 내 코드가 있습니다. :PHP를 사용하여 MySQL 데이터베이스에서 무작위로 고유 한 레코드를 선택하십시오

<? 

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 행을하지만, 오직 첫 번째를 가져오고,이 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

감사 루프 외부 사용자의 SQL 쿼리를 작성을 난 그냥 알아, 그 십초 전 :) , 시간 내 주셔서 감사합니다 . –

+0

아무 문제 없어, 다행히 도왔습니다 :) –

관련 문제