为查询结果建立向后/向前按钮


Posted in PHP onOctober 09, 2006

最近在Support Forums上有很多问题都是关于如何为一个搜索结果制作象"向后 1 2 3 4 5 向前"样子 的链接。我希望下面的脚本可以帮助你,在你的搜索结果页面中加入这种功能。这个例子是专为MySQL所写 的,但是对于其它的SQL引擎也可以很容易地适应。

因为每种应用都是不同的,这样我使用了一些通用的语句进行MySQL查询处理。TABLE名应该替换成你的 实际表名。YOUR CONDITIONAL HERE应该替换成你的where 条件,并且WHATEVER应该替换成你希望对结果进 行排序的字段(如果你的应用需要降序排列,不要忘记加上DESC)。

<?php

$limit=20; // 返回的行
$numresults=mysql_query("select * from TABLE where YOUR CONDITIONAL HERE order by WHATEVER");
$numrows=mysql_num_rows($numresults);

// 接着判断是否offset已经传给脚本了,如果没有设为0
if (empty($offset)) {
    $offset=0;
}

// 取结果
$result=mysql_query("select id,name,phone ".
    "from TABLE where YOUR CONDITIONAL HERE ".
    "order by WHATEVER limit $offset,$limit");

// 现在可以显示返回结果了
while ($data=mysql_fetch_array($result)) {
    // 在此处包含如你所愿的显示结果代码
}

// 接着我们需要生成其它结果的链接

if ($offset==1) { // 如果offset为0,则忽略PREV链接
    $prevoffset=$offset-20;
    print "<a href="$PHP_SELF?offset=$prevoffset">PREV</a>   n";
}

// 计算需要链接的页面数
$pages=intval($numrows/$limit);

// 如果除后没有余数,$pages 现在包含需要页面的整数值
if ($numrows%$limit) {
    // 如果有余数那么增加一页
    $pages++;
}

for ($i=1;$i<=$pages;$i++) { // 循环
    $newoffset=$limit*($i-1);
    print "<a href="$PHP_SELF?offset=$newoffset">$i</a>   n";
}

// 检查是否为最后一页
if (!(($offset/$limit)==$pages) && $pages!=1) {
    // 如果不是下一页,则给出向后链接
    $newoffset=$offset+$limit;
    print "<a href="$PHP_SELF?offset=$newoffset">NEXT</a><p>n";
}

?>  

这些对你来说可能有些用。当然,你可能想要使HTML的输出更干净一些...  

而且,请注意在$PHP_SELF后的链接只包含了$offset。如果你需要为查询的where条件传递参数的话, 你也需也需要把这些补在上面。  

PHP 相关文章推荐
从网上搜到的phpwind 0day的代码
Dec 07 PHP
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
php excel类 phpExcel使用方法介绍
Aug 21 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
php Smarty 字符比较代码
Feb 27 PHP
php学习之数据类型之间的转换代码
May 29 PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 PHP
php获取bing每日壁纸示例分享
Feb 25 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
Sep 06 PHP
PHP实现递归无限级分类
Oct 22 PHP
PHP7.3.10编译安装教程
Oct 08 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 PHP
投票管理程序
Oct 09 #PHP
用PHP和ACCESS写聊天室(九)
Oct 09 #PHP
用PHP和ACCESS写聊天室(八)
Oct 09 #PHP
用PHP和ACCESS写聊天室(七)
Oct 09 #PHP
一个简单实现多条件查询的例子
Oct 09 #PHP
用PHP和ACCESS写聊天室(十)
Oct 09 #PHP
php生成EXCEL的东东
Oct 09 #PHP
You might like
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
php xml实例 留言本
2009/03/20 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
微信小程序实现折叠面板
2018/01/31 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
python去掉字符串中重复字符的方法
2014/02/27 Python
Python socket编程实例详解
2015/05/27 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
Python给图像添加噪声具体操作
2019/03/03 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
如何利用Python识别图片中的文字
2020/05/31 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
有关打架的检讨书
2014/01/25 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
运动会入场式解说词
2014/02/18 职场文书
电气工程自动化求职信
2014/03/14 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
三好学生事迹材料
2014/12/24 职场文书
加薪通知
2015/04/25 职场文书
Go归并排序算法的实现方法
2022/04/06 Golang