php 上一篇,下一篇文章实现代码与原理说明

前端之家收集整理的这篇文章主要介绍了php 上一篇,下一篇文章实现代码与原理说明前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

实现原理: 就是对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.jb51.cc'); 好了万事俱备了,下面来看一下操作方法 <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;
}

通过传递一个动作来实现上一主题,下一主题

猜你在找的PHP相关文章