您的位置:首页网页设计PHP技巧 → 为查询结果建立向后/向前按钮

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

时间:2004/11/7 3:15:00来源:本站整理作者:蓝点我要评论(0)

最近在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 "PREV &nbsp; n";

}



// 计算需要链接的页面数

$pages=intval($numrows/$limit);



// 如果除后没有余数,$pages 现在包含需要页面的整数值

if ($numrows%$limit) {

    // 如果有余数那么增加一页

    $pages++;

}



for ($i=1;$i<=$pages;$i++) { // 循环

    $newoffset=$limit*($i-1);

    print "$i &nbsp; n";

}



// 检查是否为最后一页

if (!(($offset/$limit)==$pages) && $pages!=1) {

    // 如果不是下一页,则给出向后链接

    $newoffset=$offset+$limit;

    print "NEXT

n";

}



?>  



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



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

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 如何恢复Discuz!7.0被 CSS实现Tab技巧Linux配置DHCP服务器实例:linux配置教程如何在IIS7下设置支持PHP程序PHP技巧--通过COM使用ADODB

人气排行 dedecms数据库表和字段说明最小化数据传输——在客户端存储数据php如何自动跳转中英文页面如何在IIS7下设置支持PHP程序php批量获取首字母(汉字、数字、英文)经典php实现大文件上传源代码Windows环境PHP的session不能正常使用解决办PHP聊天室技术