手机
当前位置:查字典教程网 >编程开发 >php教程 >php 上一篇,下一篇文章实现代码与原理说明
php 上一篇,下一篇文章实现代码与原理说明
摘要:实现原理:就是对id对进行orderbyiddesc或orderbyidasc进行排序,然后再判断比当前id>or小于当前文章id的相同栏目...

实现原理:

就是对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.net');

好了万事俱备了,下面来看一下操作方法

复制代码 代码如下:

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";

再通过查询,取出数据

如果只是单一的"上一篇","下一篇"那么就没有必要查询了,这样是不必查询了,但也许用户点击之后会看到,这已经是首页了或者这已经是末页了,呵呵

复制代码 代码如下:

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 上一篇,下一篇文章实现代码与原理说明】相关文章:

php使用cookie实现记住用户名和密码实现代码

php简单实现多字节字符串翻转的方法

用PHP实现验证码功能

php实现求相对时间函数

php实现简单的语法高亮函数实例分析

php curl 上传文件代码实例

一个很方便的 XML 类!!原创的噢

一段php加密解密的代码

社区(php&&mysql)一

一个完整的PHP类包含的七种语法说明

精品推荐
分类导航