sql >> データベース >  >> RDS >> Mysql

データベースからの4つのランダムデータを表示するクエリ

    最初のクエリは問題ありませんが、しばらくの間は間違っています:

    ここで行ったことを見てください:

    $rows=mysql_fetch_array($query_run);
    while($rows)
    {
        echo $rows['banner_no'];
        echo $rows['banner_name'];
        echo "<a href=\"".$rows['Banner_website_url']. "\">";
        echo "<img src=\"".$rows['banner_image_url']."\" width=\"100px\" height=\"100px\">";
        echo"</a>";
    }
    

    これは「無限ループ」で終了します原因$rows 常に設定されます。必要なものは次のとおりです。

    while($rows=mysql_fetch_array($query_run))
    

    これにより、myslq_fetch_arrayが発生します while条件がチェックされるたびに新しい行を返します。そして、4行すべてが返された場合、$rows falseになり、ループが停止します。

    そして完了するために:2番目の例では、同じ行を正確に4回繰り返し、myslq_fetch_arrayを呼び出して1回だけフェッチしました。 。

    これに対する可能な解決策は、whileループ内で行を再度フェッチすることです。

    $i=4;
    while ($i>0){
        $rows = mysql_fetch_array(...);
        $i--;
    }
    

    ただし、最初のソリューションを選択する必要があります。これは、結果のカウントがイテレータ変数と一致するように注意する必要がないためです。

    サイドノード:$rowと呼びます 's'なしで、常に1行だけ戻るためです。



    1. AndroidでProguardとSQLcipherを使用しようとしているときにNoClassDefFoundErrorを取得する

    2. StrongLoop:EmbedsManyとhasManyおよびbelongTo

    3. PostgreSQL DATEADD()と同等

    4. postgresqlで月と年ごとにクエリ結果をグループ化します