Table: cm_rank
|id|rankpoeng|tittel |
-----------------------
|1 | 0 |Sivil |
|2 | 322 |Wannabe|
|3 | 1450 |Hitman |我想要做的是:
$currentXp = 500;
$query = mysql_query("SELECT * FROM cm_rank WHERE $currentXp > rankpoeng LIMIT 1");
while ($rows = mysql_fetch_array($query)):
$levelTitle = $rows['title'];
echo $levelTitle;
endwhile;$levelTitle变量应该只保存文本"Wannabe",因为用户拥有的xp比它所需的要多,但不足以满足下一级的需要。
我该如何组织这样的查询呢?
发布于 2015-05-13 16:48:47
您应该按rankpoeng列排序,以获取最高的有效值。
$query = mysql_query("SELECT * FROM cm_rank WHERE $currentXp > rankpoeng ORDER BY rankpoeng DESC LIMIT 1");发布于 2015-05-13 16:50:23
你必须对结果进行排序:
"SELECT * FROM cm_rank WHERE $currentXp > rankpoeng order by rankpoeng desc LIMIT 1"但是您不应该使用已弃用的mysql_*接口。您应该将mysqli_*或PDO与预准备语句一起使用。
https://stackoverflow.com/questions/30209881
复制相似问题