捌玖网络工作室's Archiver

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

十天学会php之第八天

[b][color=#ff6600] [/color][/b]
0[F6\h} [font=宋体][size=10.5pt][color=#000000]学习目的:做一个分页显示[/color][/size][/font]
L`.D/?:^8f!}-A~'l/M [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]$num
's-b;J7pvFa*T
h$@D+{W ED!E(l [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]
rB$i$s9m }Ly f:l7J(s1fRC
[color=#000000]$execc="select count(*) from tablename ";M![*NvEo i3`
$resultc=mysql_query($execc);
'Q!A/j*C#}Ue\ $rsc=mysql_fetch_array($resultc);
2HF!QrA OH I $num=$rsc[0];
cg\&]!V!z N;a
u4i5Gu9t(N [/color][font=宋体][size=10.5pt][color=#000000]这样可以得到记录总数[/color][/size][/font]
v#[.[ Y%Cp(w)~ [color=#000000]ceil($num/10))[/color][color=#000000][font=宋体][size=10.5pt]如果一页[/size][/font]10[font=宋体][size=10.5pt]记录的话,这个就是总的页数[/size][/font][/color]
\ATcJ q2u [font=宋体][size=10.5pt][color=#000000]所以可以这么写[/color][/size][/font]
Q"cV1L(D T vM [color=#000000]if(empty($_GET['page']))
Wy3kzisat {zE3wG9u0F-Hi5p
$page=0;
xA-f*H]S(Q/d }
pJo(]\ elseIBg+F9S*Ts:k
{lU#B*rh1O
$page=$_GET['page'];
2Q3|7Z6]#Ph&j if($page<0)$page=0;;Z'g%R$g!Z2SL'Ej
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(i-Z1BB2s
} B2}&D-`Y

LH5H9c(pn P [font=宋体][size=10.5pt]这样[/size][/font]$exec[font=宋体][size=10.5pt]可以这么写[/size][/font][/color][color=#000000] $exec="select * from tablename limit ".($page*10).",10";}(VLD8j3m
//[font=宋体][size=10.5pt]一页是[/size][/font]10[font=宋体][size=10.5pt]记录的[/size][/font][/color]
2e5dk^vF)F:\!m xu [font=宋体][size=10.5pt][color=#000000]最后我们需要做的就是几个连接:[/color][/size][/font]
[N/^_X%QE1[N%Kf [color=#000000]<a href="xxx.php?page=0">FirstPage</a> "EH)GO}u)}P8K
<a href="xxx.php?page=<?=($page-1)?>">PrevPage</a>
PL}F(zy <a href="xxx.php?page=<?=($page 1)?>">NextPage</a> )Tq*[HU \8jMF
<a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a>
,`G"g*OkF6u
X?P3V7Q [/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.