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下目前为目最全的CURL中文说明
Aug 01 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
php接口与接口引用的深入解析
Aug 09 PHP
php rsa加密解密使用详解
Jan 14 PHP
Nginx下配置codeigniter框架方法
Apr 07 PHP
php实现多城市切换特效
Aug 09 PHP
[原创]PHP字符串中插入子字符串方法总结
May 06 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
PHP多种序列化/反序列化的方法详解
Jun 23 PHP
Yii实现微信公众号场景二维码的方法实例
Aug 30 PHP
PHP7修改的函数
Mar 09 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 header示例代码(推荐)
2010/09/08 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
php获得url参数中具有&amp;的值的方法
2014/03/05 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
Vue header组件开发详解
2018/01/26 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
vue 项目接口管理的实现
2019/01/17 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
Python找出list中最常出现元素的方法
2016/06/14 Python
Python生成数字图片代码分享
2017/10/31 Python
Django中Middleware中的函数详解
2019/07/18 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
java关于string最常出现的面试题整理
2021/01/18 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
女大学生自我鉴定
2013/12/09 职场文书
文秘大学生求职信
2014/02/25 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
2015年学生会纪检部工作总结
2015/03/31 职场文书
航班延误投诉信
2015/07/02 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python
MYSQL如何查看操作日志详解
2022/05/30 MySQL