实现原理: 就是对id对进行order by id desc 或 order by id asc进行排序,然后再判断比当前id> or小于当前文章id的相同栏目的文章。 实例的sql语句如下: $id就是当面文章的id select from news where id<$id order by id desc limit 0,1 select from news where id>$id order by id desc limit 0,1 -- -- 表的结构 string_find -- CREATE TABLE IF NOT EXISTS string_find (
id int(4) NOT NULL auto_increment,
charList varchar(100) default NULL, PRIMARY KEY (id ) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ; -- -- 导出表中的数据 string_find -- INSERT INTO string_find (id ,charList ) VALUES (1,'编程之家'), (2,'baidu'), (5,'www.baidu.com'), (6,'www.52php.cn'); 好了万事俱备了,下面来看一下操作方法 <div class="codetitle"><a style="CURSOR: pointer" data="72999" class="copybut" id="copybut72999" onclick="doCopy('code72999')"> 代码如下:<div class="codebody" id="code72999"> mysql_connect('localhost','root','root') or die(mysql_error()); mysql_select_db('cc'); mysql_query("set names 'gbk'"); $cid =5;//是你当前文章的编号 $sql ="select from string_find where id>$cid order by id desc limit 0,1"; //上一篇文章 $sql1 ="select from string_find where id<$cid order by id asc limit 0,1";//下一篇文章 $result = mysql_query( $sql ); if( mysql_num_rows( $result ) ) { $rs = mysql_fetch_array( $result ); echo "上一篇".$rs[0]; } else { echo "没有了"; } $result1 = mysql_query( $sql1 ); if( mysql_num_rows( $result1 ) ) { $rs1 = mysql_fetch_array( $result1 ); echo "下一篇".$rs1[0]; } else { echo "没有了"; } 以下是别的网友写的文章。 由于我希望访客在浏览网页的时候需要看到上一主题,下一主题的标题,所以必定是要在数据库中查询出来的了,可以通过limit限制来取,比如,我的博客是按照ID自动增量的,那么可以通过查找大于或者小于当前ID来取 $UpSQL="SELECT FROM blog WHERE ID <$id ORDER BY ID DESC LIMIT 0,1"; $DownSQL="SELECT ID ,Title FROM blog WHERE ID > $id ORDER BY ID ASC LIMIT 0,1"; 再通过查询,取出数据 如果只是单一的"上一篇","下一篇"那么就没有必要查询了,这样是不必查询了,但也许用户点击之后会看到,这已经是首页了或者这已经是末页了,呵呵 <div class="codetitle"><a style="CURSOR: pointer" data="64713" class="copybut" id="copybut64713" onclick="doCopy('code64713')"> 代码如下:<div class="codebody" id="code64713"> switch($act) { case "Up": $SQL="SELECT FROM blog WHERE ID < $id ORDER BY ID DESC LIMIT 0,1"; break; case 'Down': $SQL="SELECT FROM blog WHERE ID > $id ORDER BY ID ASC LIMIT 0,1"; break; default : $SQL="SELECT FROM blog WHERE ID = $id LIMIT 0,1"; break; } 通过传递一个动作来实现上一主题,下一主题 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|