无为清净楼资源网 Design By www.qnjia.com
最近在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条件传递参数的话, 你也需也需要把这些补在上面。
因为每种应用都是不同的,这样我使用了一些通用的语句进行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条件传递参数的话, 你也需也需要把这些补在上面。
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 群星《2024好听新歌14》十倍音质 U盘音乐 [WAV分轨][966M]
- s14全球总决赛T1战队队员都有谁 LOLs14全球总决赛T1战队介绍
- 英雄联盟faker身价有10亿吗 英雄联盟faker身价介绍一览
- faker大魔王称号怎么来的 faker大魔王称号来源介绍
- PS5 Pro上的蒂法更美了!博主盛赞新机1000%值得购买
- 腾讯互娱再离职一员大将!或因供应商贪腐
- Ayaneo3游戏掌机预热:旗舰定位、造型圆润自带底键
- 动力火车.1999-背叛情歌【上华】【WAV+CUE】
- 刘力扬.2019-Neon.Lit虹【摩登天空】【FLAC分轨】
- 群星.2002-恋爱物语情歌对唱精选2CD(引进版)【滚石】【WAV+CUE】
- 群星《闽南情24K德国HD金碟》2CD[WAV+CUE]
- 周传雄《恋人创世纪》环球唱片[WAV+CUE]
- 关淑怡-《真假情话K2HD》(日本压制)【WAV+CUE】
- 王菲 -《Faye Wong》雨果LPCD45 [WAV+分轨][1G]
- 陈百强《世纪10星·永恒篇》环球[WAV+CUE][1G]