2

私はデータベースrandomからレコードをフェッチしようとしmysqlていますが、それは機能しましたがunique、出力に複製されたレコードをフェッチするときにもレコードが必要です。コードは次のとおりです。

    <?

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>';
}


?>

どうやってやるの ?

4

1 に答える 1

2

クエリを実行するコードを含むすべてのコードが for ループにあります。db から 5 行を「抽出」しますが、最初の行のみをフェッチし、これを 5 回繰り返します。代わりに、クエリを 1 回実行してから、最後に到達するまで結果をループする必要があります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>';
}
?>
于 2012-05-09T14:45:45.720 に答える