1

ランクが 5000 から 15000 のテーブルからすべてのユーザーを選択する mysql クエリを実行しようとしています。これら 2 つは変数に入れられています。これをコードに変えてみましょう。

$user_rank = 10000 //this is actually a $row[''] pulled from a database
$rank_above = $user_rank + 5000;
$rank_below = $user_rank - 5000;

$fetch_users = mysql_query("SELECT * FROM users WHERE rank = '$rank_below' ?to? '$rank_above'");

ただし、結果を LIMIT 1 のランダムな結果にしたいので、users テーブルからランダムなユーザーを 1 人だけ選択します。私はこれについて正しい方法で進んでいますか?どんな助けでも大歓迎です、ありがとう。

4

2 に答える 2

2

mysql でBETWEEN句を使用できます

$sql = "SELECT * FROM users WHERE rank BETWEEN  5000 AND 15000"

例:

$sql = "SELECT * FROM users WHERE rank BETWEEN %d AND %d"
$sql = sprintf($sql,(int)$rank_above,(int)$rank_below); // sanitize user input
于 2012-10-26T00:09:14.213 に答える
1

これを試して:

SELECT * FROM users
WHERE rank BETWEEN $rank_below AND $rank_above
ORDER BY RAND()
LIMIT 1;
于 2012-10-26T00:10:49.580 に答える