2012-05-09 3 views
2

と出力が重複しているため、レコードが必要ですがmysqlデータベースからrandomレコードをフェッチしようとしています。 :PHPを使用してmysql dbからランダムな一意のレコードを選択します

<? 

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

のforループ –

答えて

2

クエリを実行するコードを含むforループ内のすべてのコードがあります。 dbから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クエリを書く、私はちょうど10秒前にあることを把握します: )、あなたの時間をありがとう。 –

+0

問題ありません、うれしいです:) –

関連する問題