1

これを投稿する前にサイトを見回しましたが、何も意味がないようです。テーブルに情報を送信するフォームがあります。forには、$ name、$ link、および$itunesの3つのフィールドがあります。MySQLテーブルには3つの列があり、名前、リンク、およびiTunesをランダムに取得して、ページに表示しようとしています。現在、データベースに送信するフォーム以外のコードはありません。どんな助けでも大歓迎です。

4

3 に答える 3

4
SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1;

これにより、mysqlからランダムデータがフェッチされます。

手順:

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>
于 2012-08-22T10:22:54.347 に答える
1

役立つと思われるSQLクエリは次のとおりです。

SELECT name, link, table FROM mytable ORDER BY rand() LIMIT 1
于 2012-08-22T10:22:35.750 に答える
0

このテーブル構造を使用すると、ORDER BY rand()を使用できますが、速度が遅すぎます。
id列がある場合は、最後の行を取得し(つまり、SELECT id FROM table_name ORDER BY id DESC LIMIT 1)、phpを使用してランダムな値(rand(1、$ max))を取得し、selectクエリを使用してそのランダムIDを介してその行を取得します。削除した場合に備えて、このIDが実際に存在することを確認する必要があります。

于 2012-08-22T10:25:44.250 に答える