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 相关文章推荐
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
Oct 09 PHP
phpwind中的数据库操作类
Jan 02 PHP
PHP 基于文件头的文件类型验证类函数
May 01 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 PHP
解析php取整的几种方式
Jun 25 PHP
php列出mysql表所有行和列的方法
Mar 13 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
浅析Yii2缓存的使用
May 10 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
php实现微信企业付款到个人零钱功能
Oct 09 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 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源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
变量在 PHP7 内部的实现(一)
2015/12/21 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
在windows上用nodejs搭建静态文件服务器的简单方法
2016/08/11 NodeJs
Angularjs CURD 详解及实例代码
2016/09/14 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
删除目录下相同文件的python代码(逐级优化)
2012/05/25 Python
python使用super()出现错误解决办法
2017/08/14 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
详解django2中关于时间处理策略
2019/03/06 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
详解Django中views数据查询使用locals()函数进行优化
2020/08/24 Python
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
电子商务专业学生的学习自我评价
2013/10/27 职场文书
元宵节晚会主持人串词
2014/03/25 职场文书
个人贷款担保书
2014/04/01 职场文书
高一学生评语大全
2014/04/25 职场文书
跳蚤市场口号
2014/06/13 职场文书
诚信考试标语
2014/06/24 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
员工加薪申请报告
2015/05/15 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
Nginx本地配置SSL访问的实例教程
2022/05/30 Servers