PHP + SQLite3根据昵称获取页面


I have the following code:
$limit = 20;
if ($page < 1) $page = 1;
if ($page > $pagecount) $page = $pagecount;
$offset = ($page - 1) * $limit;
$db = new SQLite3($serverpath . "Database/eo.s3db");
$results = $db->querySingle('SELECT COUNT(*) FROM achievement_' . $name);
$pagecount = ceil($results/$limit);
$results = $db->query('SELECT * FROM achievement_' . $name . ' ORDER BY amount DESC LIMIT ' . $limit . ' OFFSET ' . $offset);

它将根据页面从表中获取所需的数据。(我知道偏移需要改变,因为它显然很慢,我将这样做!)返回昵称、排名和金额(按金额排序)

问题来自于理解如何基于昵称获取页面并获取其周围的数据。例如,如果我说我想获得名字BOB,而他在第55页——我必须首先找到BOB并确定他在哪一页。其余的我可以自己处理,就像我知道如何处理页码一样。问题是根据上面的每页限制(20)和排序的数量来确定他将是哪一页。

任何想法?

SELECT (count(*) / $limit) + 1 
FROM achievment 
amount > (SELECT amount from achievement where name = "BOB")

最新更新