捌玖网络工作室's Archiver

admin 发表于 2008-3-26 16:40

十天学会php之第八天

[b][color=#ff6600] [/color][/b]yD*Fs-hSF
[font=宋体][size=10.5pt][color=#000000]学习目的:做一个分页显示[/color][/size][/font]
!K8i.c7q Feo/q2G%Vf [color=#000000][font=宋体][size=10.5pt]关键就是用到了[/size][/font]SQL[font=宋体][size=10.5pt]语句中的[/size][/font]limit[font=宋体][size=10.5pt]来限定显示的记录从几到几。我们需要一个记录当前页的变量[/size][/font]$page[font=宋体][size=10.5pt],还需要总共的记录数[/size][/font][/color][color=#000000]$numO.T0Fi0JN O+_
)J`\!@'z SU5i
[font=宋体][size=10.5pt]对于[/size][/font]$page[font=宋体][size=10.5pt]如果没有我们就让它[/size][/font]=0[font=宋体][size=10.5pt],如果有[/size][/font]<0[font=宋体][size=10.5pt]就让它也[/size][/font]=0[font=宋体][size=10.5pt],如果超过了总的页数就让他[/size][/font]=[font=宋体][size=10.5pt]总的页数。[/size][/font][/color]V!N_\tdMe$F2hCJI

Wz4[_!J+ve-Xt&^#g{ [color=#000000]$execc="select count(*) from tablename ";
~Ha0iG$F-S+F/H6R4}1k $resultc=mysql_query($execc);.a EH(RS z"jp
$rsc=mysql_fetch_array($resultc);
:o]&M8BX6XmK $num=$rsc[0];#Yj8{_WC8m$R

"_h2S P8c [/color][font=宋体][size=10.5pt][color=#000000]这样可以得到记录总数[/color][/size][/font]#j%z%J#uv3EiY.G$L p
[color=#000000]ceil($num/10))[/color][color=#000000][font=宋体][size=10.5pt]如果一页[/size][/font]10[font=宋体][size=10.5pt]记录的话,这个就是总的页数[/size][/font][/color]]%yGx7b,P2^
[font=宋体][size=10.5pt][color=#000000]所以可以这么写[/color][/size][/font]
l8W8aI;mD [color=#000000]if(empty($_GET['page']))9^N:k z5R([{.Nt
{Hk/D j/]` `
$page=0;a&Yf+R] Q)s
}-P+`}{E1xh
else
8tUIk?$D[.J {
6O*Kz rH&n s $page=$_GET['page'];
4k#a4_9\'PV#I&[ z if($page<0)$page=0;
J&N6z(mt9b u6zC!s if($page>=ceil($num/10))$page=ceil($num/10)-1;//[/color][color=#000000][font=宋体][size=10.5pt]因为[/size][/font]page[font=宋体][size=10.5pt]是从[/size][/font]0[font=宋体][size=10.5pt]开始的,所以要[/size][/font][/color][color=#000000]-1 A{ Hm)d H'[9x
} JpIq&M6j?

${+O tH.Xv'h6c$v/h [font=宋体][size=10.5pt]这样[/size][/font]$exec[font=宋体][size=10.5pt]可以这么写[/size][/font][/color][color=#000000] $exec="select * from tablename limit ".($page*10).",10";
Sf][7SQ$fb.eC //[font=宋体][size=10.5pt]一页是[/size][/font]10[font=宋体][size=10.5pt]记录的[/size][/font][/color]
9EA\'^${_M-b8h&Lq [font=宋体][size=10.5pt][color=#000000]最后我们需要做的就是几个连接:[/color][/size][/font]F3_@&SO.Z
[color=#000000]<a href="xxx.php?page=0">FirstPage</a> 2lB9eU^ mZ6N
<a href="xxx.php?page=<?=($page-1)?>">PrevPage</a>
Z.BNe(B}4@{&T({ <a href="xxx.php?page=<?=($page 1)?>">NextPage</a> O!gd`daQ jS
<a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a>
N[Yy+W o7L V F$O+S5b J6Ml
[/color][color=#000000][font=宋体][size=10.5pt]这是一个大致的思路,大家可以想想怎么来优化?十天学会[/size][/font]php[font=宋体][size=10.5pt]之第八天就说到这里,第九天说一下一些注意的问题。[/size][/font][/color]

页: [1]
【捌玖网络】已经运行:


Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.