用户可以输入其偏好来查找其他用户。现在基于该输入,我想获得与偏好最匹配的前 10 个。
我的想法是:
1)创建一个解决用户偏好的选择语句
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 语句中执行此操作,但我不知道如何...
当然,这只是我的一个偏好和一个超级简单的代码版本,但你会明白的。有 15 种偏好设置。
// 编辑 //
我还想看看屏幕上的比赛评分有多少!