分享
 
 
 

php+mysql 分页显示函数

王朝mysql·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

说明:

一、此分页函数一共有三个

1、function setParam($param1) //传递参数

2、function page1($sqlstr)//执行query

3、function page2($style)//分页的页码显示

二、分页页码显示一共有六种显示方式

样式1: 第 1 2 3 4 5 6 7 8 9 页

样式2: 共 记录 第一页 上一页 6 7 8 9 10 11 12 13 14 15 16 17 18 下一页 最后页

样式3: 第一页 上一页 6 7 8 9 10 11 12 13 14 15 16 17 18 下一页 最后页

样式4: 首页 | 上页 | 下页 | 末页

样式5: 首页 | 上页 | 下页 | 末页 第 页 每页 条

样式6: 第 页 每页 条

三、函数的使用

把三个函数拷到你要使用的页面上。或者你建立一个function.php文件,把三个函数拷到function.php文件中,

在需要使用的时候require就可以了。

使用示例:

<?

$str="select * from Table ";//不能用limit,Table改为你自己的表名

$temp=page1($str);

?>

<?

//这里设置你你要传递的参数

$param1=array("a1","a2");//你可以加任意个你需要传递的参数,只要写上参数的名字。不要使

用$per_page,$page

$param=setParam($param1);

//这里显示你的分页导航条

page2(n);//n可以为1-6的数值,也可以不设置。

?>

while ($result=mysql_fetch_array($temp))

{

// 写你自己的显示语句。

}

四、函数如下

//----------------------------------分页函数共三个-------------------//

// ipsearch 2003-08-01

//email ipsearch@sohu.com QQ=153254

//-----------------------------------分页函数共三个-------------------//

function setParam($param1)

{

// ipsearch 2003-08-01

//email ipsearch@sohu.com

foreach( $param1 as $key)

{

global ${$key};

$param .= urlencode($key).'='.urlencode(${$key}).'&';

}

return $param;

}

function page1($sqlstr)//分页的第一个处理程序,用来处理一系列环境变量.

{

// ipsearch 2003-08-01

//email ipsearch@sohu.com

global $rows_num,$page,$pages_num,$per_page,$rows_offset,$per_screen;

if (!isset($page)) $page=1;//第几页

if (!isset($rows_offse)) $rows_offse=2; //每页起始偏移

if (!isset($per_screen)) $per_screen=10;//分页样式2 3 显示的页数

if (!isset($per_page)) $per_page=30;//每页记录行数。

$query=mysql_query($sqlstr);

$rows_num=mysql_num_rows($query);

$pages_num = ceil(($rows_num-$rows_offset)/$per_page);

$str= $sqlstr." limit ".(($page-1)*$per_page+$rows_offset).", ".$per_page;

return mysql_query($str);

}

function page2($style=2)

{

global $rows_num,$page,$pages_num,$per_page,$rows_offset,$param,$per_screen;

$font_size="10pt";

switch($style) {

case 1:

/* 样式1: 第 1 2 3 4 5 6 7 8 9 页*/

for($i=1; $i<=$pages_num; $i++) {

if (($i%26)==0) $nav .="<br>";

if($i == $page) {

$nav .= " <span style='font-size=$font_size;color=red;'>$i</span> ";

}else {

$nav .= " <a href=?page=$i&".$param."><span style='font-size=$font_size;'>$i</span></a> ";

}

}

$nav = "<span style='font-size=$font_size;'>第</spqn> $nav <span style='font-size=$font_size;'>

页</span>";

break;

case 2:

/* 样式2: 共 记录 第一页 上一页 6 7 8 9 10 11 12 13 14 15 16 17 18 下一页 最后页 */

$mid = ceil(($per_screen+1)/2);

$nav = '';

if($page<=$mid ) {

$begin = 1;

}else if($page > $pages_num-$mid) {

$begin = $pages_num-$per_screen+1;

}else {

$begin = $page-$mid+1;

}

if($begin<0) $begin = 1;

$nav .="<span style='font-size=$font_size;'>共".$rows_num."记录</span> ";

if($begin!=1) $nav .= "<span style='font-size=$font_size;'>[</span><a href='?$param' title='第1

页'><span style='font-size=$font_size;'>第一页</span></a><span

style='font-size=$font_size;'>]</spqn> ";

if($page>1) $nav .= "<span style='font-size=$font_size;'>[</span><a href='?$param&page=".

($page-1)."' title='第".($page-1)."页'><span style='font-size=$font_size;'>上一页</span></a><span

style='font-size=$font_size;'>]</span> ";

$end = ($begin+$per_screen>$pages_num)?$pages_num+1:$begin+$per_screen;

for($i=$begin; $i<$end; $i++) {

$nav .=($page!=$i)?"<a href='?$param&page=$i' title='第{$i}页'><span

style='font-size=$font_size;'>$i</span></a> ":" <span

style='font-size=$font_size;color:red;'>$i</span> ";

}

if($page<$pages_num) $nav .= "<span style='font-size=$font_size;'>[</span><a href='?

$param&page=".($page+1)."' title='第".($page+1)."页'><span style='font-size=$font_size;'>下一

页</span></a><span style='font-size=$font_size;'>]</span> ";

if($end!=$pages_num+1) $nav .= "<span style='font-size=$font_size;'>[</span><a href='?

$param&page=$pages_num' title='第{$pages_num}页'><span style='font-size=$font_size;'>最后

页</span></a><span style='font-size=$font_size;'>]</span> ";

break;

case 3:

/* 样式3: << 第一页 ... << 上一页 6 7 8 9 10 11 12 13 14 15 16 17 18 下一页 >> ... 最后页 >>

*/

$mid = ceil(($per_screen+1)/2);

$nav = '';

if($page<=$mid ) {

$begin = 1;

}else if($page > $pages_num-$mid) {

$begin = $pages_num-$per_screen+1;

}else {

$begin = $page-$mid+1;

}

if($begin<0) $begin = 1;

if($begin!=1) $nav .= "<span style='font-size=$font_size;'>[</span><a href='?$param' title='第1

页'><span style='font-size=$font_size;'>第一页</span></a><span

style='font-size=$font_size;'>]</spqn> ";

if($page>1) $nav .= "<span style='font-size=$font_size;'>[</span><a href='?$param&page=".

($page-1)."' title='第".($page-1)."页'><span style='font-size=$font_size;'>上一页</span></a><span

style='font-size=$font_size;'>]</span> ";

$end = ($begin+$per_screen>$pages_num)?$pages_num+1:$begin+$per_screen;

for($i=$begin; $i<$end; $i++) {

$nav .=($page!=$i)?"<span style='font-size=$font_size;'>[</span><a href='?$param&page=$i'

title='第{$i}页'><span style='font-size=$font_size;'>$i</span></a><span

style='font-size=$font_size;'>]</span> ":" <span style='font-size=$font_size;'>[</span><span

style='font-size=$font_size;color:red;'>$i</span><span style='font-size=$font_size;'>]</span> ";

}

if($page<$pages_num) $nav .= "<span style='font-size=$font_size;'>[</span><a href='?

$param&page=".($page+1)."' title='第".($page+1)."页'><span style='font-size=$font_size;'>下一

页</span></a><span style='font-size=$font_size;'>]</span> ";

if($end!=$pages_num+1) $nav .= "<span style='font-size=$font_size;'>[</span><a href='?

$param&page=$pages_num' title='第{$pages_num}页'><span style='font-size=$font_size;'>最后

页</span></a><span style='font-size=$font_size;'>]</span> ";

break;

case 4:

if ($page > 1) {

$nav .= '<a href="?page=1&'.$param.'"><span style=\'font-size=$font_size;\'>首页</span></a>

<span style=\'font-size=$font_size;\'>|</span> ';

$nav .= '<a href="?page='.($page-1).'&'.$param.'"><span style=\'font-size=$font_size;\'>上

页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';

}else {

$nav .= '<span style="font-size=$font_size;">首页 |</span> ';

$nav .= '<span style="font-size=$font_size;">上页 |</span> ';

}

if ($page < $pages_num) {

$nav .= '<a href="?page='.($page+1).'&'.$param.'"><span style=\'font-size=$font_size;\'>下

页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';

$nav .= '<a href="?page='.$pages_num.'&'.$param.'"><span style=\'font-size=$font_size;\'>末

页</span></a>';

}else {

$nav .= '<span style=\'font-size=$font_size;\'>下页 |</span> ';

$nav .= '<span style=\'font-size=$font_size;\'>末页</span>';

}

break;

case 5:

$param .="per_page=".$per_page."&";

if ($page > 1) {

$nav .= '<a href="?page=1&'.$param.'"><span style=\'font-size=$font_size;\'>首页</span></a>

<span style=\'font-size=$font_size;\'>|</span> ';

$nav .= '<a href="?page='.($page-1).'&'.$param.'"><span style=\'font-size=$font_size;\'>上

页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';

}else {

$nav .= '<span style="font-size=$font_size;">首页 |</span> ';

$nav .= '<span style="font-size=$font_size;">上页 |</span> ';

}

if ($page < $pages_num) {

$nav .= '<a href="?page='.($page+1).'&'.$param.'"><span style=\'font-size=$font_size;\'>下

页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';

$nav .= '<a href="?page='.$pages_num.'&'.$param.'"><span style=\'font-size=$font_size;\'>末

页</span></a>';

}else {

$nav .= '<span style=\'font-size=$font_size;\'>下页 |</span> ';

$nav .= '<span style=\'font-size=$font_size;\'>末页</span>';

}

$nav .= ' <span style=\'font-size=$font_size;\'>第</span><select

onchange="location.href=\'?'.$param.'&page=\'+this.value;">';

for($i=1; $i<=$pages_num; $i++) {

$nav .= '<option value="'.$i.'"'.($i==$page?' selected':'').'>'.$i.'</option>';

}

$nav .= "</select><span style=\'font-size=$font_size;\'>页</span>";

$nav .= ' <span style=\'font-size=$font_size;\'>每页</span><select

onchange="location.href=\'?'.$param.'&page='.$page.'&per_page=\'+this.value;">';

$nav .= '<option value="10"'.(10==$per_page?' selected':'').'>10</option>';

$nav .= '<option value="15"'.(15==$per_page?' selected':'').'>15</option>';

$nav .= '<option value="20"'.(20==$per_page?' selected':'').'>20</option>';

$nav .= '<option value="25"'.(25==$per_page?' selected':'').'>25</option>';

$nav .= '<option value="30"'.(30==$per_page?' selected':'').'>30</option>';

$nav .= '<option value="40"'.(40==$per_page?' selected':'').'>40</option>';

$nav .= '<option value="50"'.(50==$per_page?' selected':'').'>50</option>';

$nav .= '<option value="100"'.(100==$per_page?' selected':'').'>100</option>';

$nav .= "</select><span style=\'font-size=$font_size;\'>条</span>";

break;

/*下拉框直接跳转 */

case '6':

$param .="per_page=".$per_page."&";

$nav = '<span style=\'font-size=$font_size;\'>第</span><select

onchange="location.href=\'?'.$param.'&page=\'+this.value;">';

for($i=1; $i<=$pages_num; $i++) {

$nav .= '<option value="'.$i.'"'.($i==$page?' selected':'').'>'.$i.'</option>';

}

$nav .= "</select><span style=\'font-size=$font_size;\'>页</span>";

$nav .= ' <span style=\'font-size=$font_size;\'>每页</span><select

onchange="location.href=\'?'.$param.'&page='.$page.'&per_page=\'+this.value;">';

$nav .= '<option value="10"'.(10==$per_page?' selected':'').'>10</option>';

$nav .= '<option value="15"'.(15==$per_page?' selected':'').'>15</option>';

$nav .= '<option value="20"'.(20==$per_page?' selected':'').'>20</option>';

$nav .= '<option value="25"'.(25==$per_page?' selected':'').'>25</option>';

$nav .= '<option value="30"'.(30==$per_page?' selected':'').'>30</option>';

$nav .= '<option value="40"'.(40==$per_page?' selected':'').'>40</option>';

$nav .= '<option value="50"'.(50==$per_page?' selected':'').'>50</option>';

$nav .= '<option value="100"'.(100==$per_page?' selected':'').'>100</option>';

$nav .= "</select><span style=\'font-size=$font_size;\'>条</span>";

break;

default:

$nav = '';

}

echo $nav;

}

// ipsearch 2003-08-01

//email ipsearch@sohu.com

//--------------------------------------------------end 分页函数--------------

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有