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 相关文章推荐
php桌面中心(四) 数据显示
Mar 11 PHP
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
PHP生成网页快照 不用COM不用扩展.
Feb 11 PHP
使用淘宝IP库获取用户ip地理位置
Oct 27 PHP
php中替换字符串中的空格为逗号','的方法
Jun 09 PHP
必须收藏的php实用代码片段
Feb 02 PHP
php实现多维数组排序的方法示例
Mar 23 PHP
实例讲解PHP页面静态化
Feb 05 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
Dec 04 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 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
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
js图片上传的封装代码
2017/08/01 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
详细探究Python中的字典容器
2015/04/14 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
python微信撤回监测代码
2019/04/29 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
Python实现自动签到脚本功能
2020/08/20 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
会计试用期自我评价
2015/03/10 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android
PyTorch device与cuda.device用法
2022/04/03 Python
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers