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


Posted in PHP onMay 09, 2010

实现原理:

就是对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, '3water.com');

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

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 相关文章推荐
动态生成gif格式的图像要注意?
Oct 09 PHP
收藏的PHP常用函数 推荐收藏保存
Feb 21 PHP
php中的mongodb select常用操作代码示例
Sep 06 PHP
PHP检测用户语言的方法
Jun 15 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
Oct 14 PHP
php mysql数据库操作类(实例讲解)
Aug 06 PHP
PHP实现的AES双向加密解密功能示例【128位】
Sep 03 PHP
Laravel 关联模型-关联新增和关联更新的方法
Oct 10 PHP
PHP页面静态化――纯静态与伪静态用法详解
Jun 05 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 PHP
php 获取本机外网/公网IP的代码
May 09 #PHP
php 仿Comsenz安装效果代码打包提供下载
May 09 #PHP
php ob_flush,flush在ie中缓冲无效的解决方法
May 09 #PHP
php 各种应用乱码问题的解决方法
May 09 #PHP
php 输出双引号&quot;与单引号'的方法
May 09 #PHP
php for 循环语句使用方法详细说明
May 09 #PHP
php 函数使用方法与函数定义方法
May 09 #PHP
You might like
PHP连接MongoDB示例代码
2012/09/06 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
js 取时间差去掉周六周日实现代码
2012/12/25 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
我的五年职业生涯规划
2014/01/23 职场文书
涉密人员保密承诺书
2014/05/28 职场文书
小区推广策划方案
2014/06/06 职场文书
干部对照检查材料范文
2014/08/26 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
孔庙导游词
2015/02/04 职场文书
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers