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 相关文章推荐
拼音码表的生成
Oct 09 PHP
Joomla下利用configuration.php存储简单数据
May 19 PHP
php 按指定元素值去除数组元素的实现方法
Nov 04 PHP
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 PHP
windows下安装php的memcache模块的方法
Apr 07 PHP
微信API接口大全
Apr 15 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
php微信开发之音乐回复功能
Jun 14 PHP
PHP实现通过二维数组键值获取一维键名操作示例
Oct 11 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
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
快速配置PHPMyAdmin方法
2008/06/05 PHP
PHP自定义函数收代码
2010/08/01 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
jQuery实现开关灯效果
2020/08/02 jQuery
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
python pickle 和 shelve模块的用法
2013/09/16 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
Python运算符重载用法实例
2015/05/28 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
pygame加载中文名mp3文件出现error
2017/03/31 Python
单利模式及python实现方式详解
2018/03/20 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
Django之路由层的实现
2019/09/09 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
《争吵》教学反思
2014/02/15 职场文书
财务部总监岗位职责
2014/03/12 职场文书
诚信承诺书模板
2014/05/26 职场文书
初中同学会活动方案
2014/08/22 职场文书
党支部意见范文
2015/06/02 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript