ユーザーは、自分の好みを入力して、他のユーザーを見つけることができます。その入力に基づいて、好みに最もよく一致するトップ 10 を取得したいと思います。
私が考えたのは:
1) ユーザー設定を解決する select ステートメントを作成する
if ($stmt = $mysqli->prepare("SELECT sex FROM ledenvoorkeuren WHERE userid = you"))
$stmt->bind_result($ownsex);
2) 自分以外のすべてのユーザーをチェックする select ステートメントを作成します。
if ($stmt = $mysqli->prepare("SELECT sex FROM ledenvoorkeuren WHERE userid <> you"))
$stmt->bind_result($othersex);
3) select ステートメント 1 と select ステートメント 2 を一致させる
while ($stmt->fetch()) {
$match = 0;
if ($ownsex == $othersex) {
$match = $match + 10;
}
// check next preference
4) 好みが一致する場合は、値 0 の変数から開始します -> 変数 + 10%
問題は、すべてのメンバーに対してこれを行うことができることですが、どうすればトップ 10 を選択できますか? SQLステートメントでこれを行う必要があると思いますが、方法がわかりません...
もちろん、これは 1 つの設定であり、私のコードの非常に単純なバージョンですが、アイデアは理解できるでしょう。15の設定があります。
// 編集 //
また、試合のレーティングが画面上でどのくらい表示されるかを確認したいと思います!