上一篇文章和下一篇文章 asp、php、asp.net、jsp等
上一篇文章和下一篇文章最核心的sql语句如下
上一篇
代码如下 |
复制代码 |
select top 1 Id from [table] where Id < @当前ID order by Id desc |
下一篇
代码如下 |
复制代码 |
select top 1 Id from [table] where Id > @当前ID order by Id |
以后下面不管是asp php jsp asp.net等都可以这样来实现,下面我们介绍asp 和 php做法吧
在news.asp文件中添加如下代码:
代码如下 |
复制代码 |
<%
set backrsd=server.CreateObject("Adodb.recordset")
sql="select top 1 * from news where id<"&id&" order by id desc"
set backrsd=conn.execute(sql)
if backrsd.eof then
NewTitle4="已经是第一篇"
else
id2=backrsd("id")
NewTitle2=backrsd("title")
end If
backrsd.close
set nextrsd=server.CreateObject("adodb.recordset")
sql="select top 1 * from news where id>"&id&" order by id"
set nextrsd=conn.execute(sql)
if nextrsd.eof then
NewTitle3="已经是最后一篇 "
else
id1=nextrsd("id")
NewTitle1=nextrsd("title")
end If
nextrsd.close
%>
|
在<body>中加入如下代码
代码如下 |
复制代码 |
<br>上一篇:<%=NewTitle4%><a href='news.asp?newid=<%=id2%>'><%=NewTitle2%></a>
<br>下一篇:<%=NewTitle3%><a href='news.asp?newid=<%=id1%>'><%=NewTitle1%></a> |
php中的用法
代码如下 |
复制代码 |
function nextpage($fid,$tag,$bid){
if('next' ==$tag){
$sql ="select * from gx_news where id<$fid and menu_id='$bid' order by id desc";
}elseif('prev' ==$tag){
$sql ="select * from gx_news where id>$fid and menu_id='$bid' order by id asc";
}
$result =mysql_query($sql);
if(!mysql_num_rows($result) ){
echo('己经没有了!');
}else{
$rs =mysql_fetch_array($result);
echo "<a href=news_page.php?id=".$rs[0].">".$rs['new_title']."</a>";
}
}
|
调用
代码如下 |
复制代码 |
nextpage($fid,'next',$bid); 下一页
nextpage($fid,'prev',$bid); 上一页 |
好了,我说的核心就是只有二种sql可能实现所有编程语言的上一篇和下一篇的实现方法。
补充:Jsp教程,Java基础