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 相关文章推荐
js下函数般调用正则的方法附代码
Jun 22 PHP
防止用户利用PHP代码DOS造成用光网络带宽
Mar 01 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
Jun 28 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
Dec 01 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
php自定义错误处理用法实例
Mar 20 PHP
简单解析PHP程序的运行流程
Jun 23 PHP
php函数mkdir实现递归创建层级目录
Oct 27 PHP
PHP网站自动化配置的实现方法(必看)
May 27 PHP
PHP中引用类型和值类型功能与用法示例
Feb 26 PHP
laravel开发环境homestead搭建过程详解
Jul 03 PHP
PHP替换Word中变量并导出PDF图片的实现方法
Nov 26 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
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
JQuery实现定时刷新功能代码
2017/05/09 jQuery
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
c++生成dll使用python调用dll的方法
2014/01/20 Python
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
初步解析Python中的yield函数的用法
2015/04/03 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
详解django.contirb.auth-认证
2018/07/16 Python
python Django的web开发实例(入门)
2019/07/31 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
浅析Python中字符串的intern机制
2020/10/03 Python
如何使用PHP session
2015/04/21 面试题
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
院药学专业个人求职信
2013/09/21 职场文书
家长对老师的评语
2014/04/18 职场文书
求职信内容怎么写
2014/05/26 职场文书
社区科普工作方案
2014/06/03 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
颐和园导游词
2015/01/30 职场文书
贷款收入证明格式
2015/06/24 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript
golang内置函数len的小技巧
2021/07/25 Golang