我正在开发一个Web应用程序,其中有许多我希望用户浏览的非常相似的页面。这些“页面”的数据存储在一个数据库中,该数据库具有唯一的ID作为主键。
我想在每个查询数据库的页面上都有一个“NEXT”按钮,找出下一个最高ID是什么,并显示该id的数据。我的问题是有几个条件:
有没有人有任何提示或建议?谢谢!
答案 0 :(得分:9)
这样的事情?
SELECT id FROM table WHERE id > '$id' AND active = '1' ORDER BY id ASC LIMIT 1
PREV按钮需要这样的东西:
SELECT id FROM table WHERE id < '$id' AND active = '1' ORDER BY id DESC LIMIT 1
答案 1 :(得分:3)
select t.*
from table t
where t.id =
(select min(s.id)
from table s
where s.active = 1
and s.id > target);
答案 2 :(得分:2)
SELECT id
FROM pages
WHERE id > $current_id AND active = 1
ORDER BY id ASC
LIMIT 1
答案 3 :(得分:2)
我认为我不太了解你的情景,但无论如何:
SELECT id
FROM table
WHERE id > $lastid AND active = 1
ORDER BY id ASC
LIMIT 1
答案 4 :(得分:1)
SELECT id
FROM table
WHERE id < $lastid AND active = 1
ORDER BY id DESC
LIMIT 1
这应该可以准确地为您提供所需的内容,ID最高的活动页面低于当前页面。
答案 5 :(得分:0)
使用Codeignier's active record class
CIAR
然后将$this->db->select_max();
放入您的应用程序中以获取行的最大可能ID。