当前位置:编程学习 > JSP >>

上一篇文章和下一篇文章 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基础 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,