php 上一篇,下一篇文章实现代码与原理说明

2015-01-24信息快讯网
实现原理:

就是对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, 'www.jb51.net');

好了万事俱备了,下面来看一下操作方法

 
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数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
简单的PHP缓存设计实现代码
php利用iframe实现无刷新文件上传功能的代码
PHP+MYSQL会员系统的登陆即权限判断实现代码
PHP将DateTime对象转化为友好时间显示的实现代码
PHP无刷新上传文件实现代码
php 文章调用类代码
PHP获取文件绝对路径的代码(上一级目录)
一篇有意思的技术文章php介绍篇
smarty中先strip_tags过滤html标签后truncate截取文章运用
php下删除一篇文章生成的多个静态页面
PHP+ACCESS 文章管理程序代码
简单的PHP留言本实例代码
php 获取本机外网/公网IP的代码
PHP5中使用DOM控制XML实现代码
PHP 类商品秒杀计时实现代码
PHP 图片上传实现代码 带详细注释
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
用PHP实现读取和编写XML DOM代码
php 文章采集正则代码
PHP simple_html_dom.php+正则 采集文章代码
PHP Session变量不能传送到下一页的解决方法
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
PHP 文章中的远程图片采集到本地的代码
PHP下一个非常全面获取图象信息的函数
一篇入门的php Class 文章
推荐一篇入门级的Class文章
一篇不错的PHP基础学习笔记
不错的一篇面向对象的PHP开发模式(简写版)
PHP如何得到当前页和上一页的地址?
教你如何把一篇文章按要求分段
©2014-2024 dbsqp.com