我已经制作了一个简单的php表单,用户可以在其中插入存储到mysql数据库的名称和分数。
当用户提交表单时,他们的输入被插入到数据库中的SCORES到NAME和SCORE列的表中。还有一个名字RANK。
现在我想在php中创建搜索页面,以便按名称查找分数和排名(基于分数)。
我有查询排名的SQL查询,但它不会永久存储数据库的排名。
SET @rnk=0;
SET @rank=0;
SET @curscore=0;
SELECT score,NAME,rank
FROM (SELECT AA.*,BB.ID,
(@rnk:=@rnk+1) rnk,
(@rank:=IF(@curscore=score,@rank,@rnk)) rank,
(@curscore:=score) newscore
FROM (SELECT *
FROM (SELECT COUNT(1) scorecount,score
FROM scores
GROUP BY score) AAA
ORDER BY score DESC) AA
LEFT JOIN scores BB USING (score)) A;
我可以做一些事情来将排名存储到数据库中,这样我就可以从搜索页面中找到更多的内容,如果将新记录插入数据库,那么得分应该刷新。??