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