用的mysql数据库,用下面的sql查出一个list
SELECT NOTICE_ID,NOTICE_TITLE_EN,NOTICE_ORDER,CREATE_TIME,CREATE_USER_ID,FLAG
from
(
(select NOTICE_ID,NOTICE_TITLE_EN,NOTICE_ORDER,CREATE_TIME,CREATE_USER_ID,FLAG from
(
select NOTICE_ID,NOTICE_TITLE_EN,NOTICE_ORDER,CREATE_TIME,CREATE_USER_ID,FLAG from NOTICE where NOTICE_ORDER is not null AND NOTICE_ORDER<>''
order by NOTICE_ORDER, NOTICE_ID desc) as a
)
union all
(select NOTICE_ID,NOTICE_TITLE_EN,NOTICE_ORDER,CREATE_TIME,CREATE_USER_ID,FLAG from
(
select NOTICE_ID,NOTICE_TITLE_EN,NOTICE_ORDER,CREATE_TIME,CREATE_USER_ID,FLAG from NOTICE where NOTICE_ORDER is null OR NOTICE_ORDER=''
order by NOTICE_ID desc ) as b
)
) as c
LIMIT 0,10
list 页面如下No Title Order Status Create Time 44 test1 1 Active 2008-06-05
40 test img 1 Active 2008-06-04
37 test order111111 1 Active 2008-06-02
39 test session 2 Active 2008-06-03
26 test123 2 Active 2008-05-30
43 English Active 2008-06-05 我想做的是:点击某个标题,在详细页面里,列出此文章的前一条记录,和后一条记录.如点击No为39的标题时..在详细页显示:前一条: 37 test order111111
后一条: 26 test123
SELECT NOTICE_ID,NOTICE_TITLE_EN,NOTICE_ORDER,CREATE_TIME,CREATE_USER_ID,FLAG
from
(
(select NOTICE_ID,NOTICE_TITLE_EN,NOTICE_ORDER,CREATE_TIME,CREATE_USER_ID,FLAG from
(
select NOTICE_ID,NOTICE_TITLE_EN,NOTICE_ORDER,CREATE_TIME,CREATE_USER_ID,FLAG from NOTICE where NOTICE_ORDER is not null AND NOTICE_ORDER<>''
order by NOTICE_ORDER, NOTICE_ID desc) as a
)
union all
(select NOTICE_ID,NOTICE_TITLE_EN,NOTICE_ORDER,CREATE_TIME,CREATE_USER_ID,FLAG from
(
select NOTICE_ID,NOTICE_TITLE_EN,NOTICE_ORDER,CREATE_TIME,CREATE_USER_ID,FLAG from NOTICE where NOTICE_ORDER is null OR NOTICE_ORDER=''
order by NOTICE_ID desc ) as b
)
) as c
LIMIT 0,10
list 页面如下No Title Order Status Create Time 44 test1 1 Active 2008-06-05
40 test img 1 Active 2008-06-04
37 test order111111 1 Active 2008-06-02
39 test session 2 Active 2008-06-03
26 test123 2 Active 2008-05-30
43 English Active 2008-06-05 我想做的是:点击某个标题,在详细页面里,列出此文章的前一条记录,和后一条记录.如点击No为39的标题时..在详细页显示:前一条: 37 test order111111
后一条: 26 test123
超链中用……action?vid=id 将该条记录的id传到action;
再在action中根据id取出该条记录,
然后将该条记录存入session或request中,
跳转到显示页面,取出即可。
这个可以做到,,关键的是:得到前一条: 37 test order111111
后一条: 26 test123
where id >? // 后一个,如果是前一个就是 <?2 然后 limit 1,1 就行了
1.新建一个临时表,使其类似于:
ID No Title Order Status Create Time 1 44 test1 1 Active 2008-06-05
2 40 test img 1 Active 2008-06-04
3 37 test order111111 1 Active 2008-06-02
4 39 test session 2 Active 2008-06-03
5 26 test123 2 Active 2008-05-30
6 43 English Active 2008-06-05
2.然后操作起来应该就没什么问题了
where id >39
limit 1,1得到的结果id是40而不是 26 test123
no字段没有顺序 id字段有顺序啊
而且条件直接写limit行数 如
where id >4
limit 1