php分页注释版-PHP源码
php代码:
0) {//当然了,只有表中有数据才会用下面的一大堆程序来显示
$pageSize = 2; //每页显示的记录数
#当前页号$page,这个值由分页的链接得来,如果没有提供这个参数默认是显示第一页
if(!empty($_GET['page'])){
$page=$_GET['page'];
}else {
$page=1;
}
$totalPage = (int)ceil($totalRows/$pageSize); //总页数 总页数等于总记录数除以每页显示条数小数部分进一取整
#下面只是一些数据合法性的判断
if((int)$page<1){
$page=1;
}
if((int)$page > $totalPage){
$page=$totalPage;
}
#下面的加减2表示显示当前页前两页和后两页的,这个数字2可以根据你的需要修改,目的是为了像google那样只显示一定数量的分页链接,不至于在超大数据量分页时显示几十甚至上百个分页链接
#当然如果你一定要全都显示出来,只需要指定$begin=1;$end=$totalPage;即可
$begin = $page - 4;
$end = $page + 5;
#再下面还是一些数据合法性的判断
if($page<5){
$begin = 1;
$end = 10;//这里是你要提供的可用链接数,本例就是当前页加前后两页共5页,if条件为可用链接数的一半
}
if($page>$totalPage-5){
$begin = $totalPage - 9;
$end = $totalPage;
}
if($begin<1){
$begin = 1;
}
if($end>$totalPage){
$end = $totalPage;
}
#下面开始输出分页链接
/*==================显示第一种分页链接 开始===============*/
echo "
";
/*==================显示第一种分页链接 结束===============*/
/*==================显示第二种分页链接 开始===============*/
echo "共有 $totalPage 页 $totalRows 条 < Back";
#接下来的就是显示带有链接的1、2、3、4...5、6、7、8了
for($i=$begin; $i<=$end; $i++){
echo(" ");
echo("");
if($i==$page) echo("
");
echo("$i");
if($i==$page) echo("");
echo("");
echo(" ");
if($i!=$end) echo("|");
}
echo ("Next >\n");
$selecet_page="
\n";
echo $selecet_page;
/*==================显示第二种分页链接 结束===============*/
#链接显示完了下面就是显示数据了,当然了显示效果大家可以尽情发挥,这里只是提供一个通用的模式
#By the way:不论美工给你设么样效果页面,充分利用我们的 if for 绝对可以搞定
$beginNum=($page-1)*$pageSize;//查询记录从第几条开始
$sql_select="SELECT * FROM $dbtablename LIMIT $beginNum,$pageSize";
$rs=mysql_query($sql_select,$conn);
$rs_field_counts=mysql_num_fields($rs);//查询得到的字段数
echo ("
\n");
echo ("\n");
#显示表头,当然实际应用中不太可能直接输出数据库的字段名,那就把下面的for循环直接写成你要显示的表头就好了
for ($i=0;$i<$rs_field_counts;$i++){
$rs_field_name=mysql_field_name($rs,$i);
echo("$rs_field_name | ");
}
echo ("\n
\n");
#显示数据
$row_number=0;//这个变量用于控制行显示颜色,
while ($row=mysql_fetch_array($rs)){
#判断是单数行还是偶数行,这个原理同样适用于每行显示两条记录的情况(带图片的产品展示一般会用到)
if ($row_number%2==0) {
$tr_color="#CCFFFF";
}else{
$tr_color="#CCFFCC";
}
echo ("\n");
for ($i=0;$i<$rs_field_counts;$i++){
echo ("");
if(empty($row[$i])){
echo (" ");
}else {
echo ($row[$i]);
}
echo (" | ");
}
echo ("\n
\n");
$row_number++;
}
echo "
\n"; //不要忘了数据显示结束一定要输出这个呦!只有到这里你才算大功告成。
}else {//如果表中没有数据
echo("sorry,没有符合条件的数据!
\n");
}
//下面两句纯熟充数 :)
mysql_free_result($rs);
mysql_close($conn);
?>
php代码
0) {//当然了,只有表中有数据才会用下面的一大堆程序来显示
$pageSize = 2; //每页显示的记录数
#当前页号$page,这个值由分页的链接得来,如果没有提供这个参数默认是显示第一页
if(!empty($_GET['page'])){
$page=$_GET['page'];
}else {
$page=1;
}
$totalPage = (int)ceil($totalRows/$pageSize); //总页数 总页数等于总记录数除以每页显示条数小数部分进一取整
#下面只是一些数据合法性的判断
if((int)$page<1){
$page=1;
}
if((int)$page > $totalPage){
$page=$totalPage;
}
#下面的加减2表示显示当前页前两页和后两页的,这个数字2可以根据你的需要修改,目的是为了像google那样只显示一定数量的分页链接,不至于在超大数据量分页时显示几十甚至上百个分页链接
#当然如果你一定要全都显示出来,只需要指定$begin=1;$end=$totalPage;即可
$begin = $page - 4;
$end = $page + 5;
#再下面还是一些数据合法性的判断
if($page<5){
$begin = 1;
$end = 10;//这里是你要提供的可用链接数,本例就是当前页加前后两页共5页,if条件为可用链接数的一半
}
if($page>$totalPage-5){
$begin = $totalPage - 9;
$end = $totalPage;
}
if($begin<1){
$begin = 1;
}
if($end>$totalPage){
$end = $totalPage;
}
#下面开始输出分页链接
/*==================显示第一种分页链接 开始===============*/
echo "
";
/*==================显示第一种分页链接 结束===============*/
/*==================显示第二种分页链接 开始===============*/
echo "共有 $totalPage 页 $totalRows 条 < Back";
#接下来的就是显示带有链接的1、2、3、4...5、6、7、8了
for($i=$begin; $i<=$end; $i++){
echo(" ");
echo("");
if($i==$page) echo("
");
echo("$i");
if($i==$page) echo("");
echo("");
echo(" ");
if($i!=$end) echo("|");
}
echo ("Next >\n");
$selecet_page="
\n";
echo $selecet_page;
/*==================显示第二种分页链接 结束===============*/
#链接显示完了下面就是显示数据了,当然了显示效果大家可以尽情发挥,这里只是提供一个通用的模式
#By the way:不论美工给你设么样效果页面,充分利用我们的 if for 绝对可以搞定
$beginNum=($page-1)*$pageSize;//查询记录从第几条开始
$sql_select="SELECT * FROM $dbtablename LIMIT $beginNum,$pageSize";
$rs=mysql_query($sql_select,$conn);
$rs_field_counts=mysql_num_fields($rs);//查询得到的字段数
echo ("
\n");
echo ("\n");
#显示表头,当然实际应用中不太可能直接输出数据库的字段名,那就把下面的for循环直接写成你要显示的表头就好了
for ($i=0;$i<$rs_field_counts;$i++){
$rs_field_name=mysql_field_name($rs,$i);
echo("$rs_field_name | ");
}
echo ("\n
\n");
#显示数据
$row_number=0;//这个变量用于控制行显示颜色,
while ($row=mysql_fetch_array($rs)){
#判断是单数行还是偶数行,这个原理同样适用于每行显示两条记录的情况(带图片的产品展示一般会用到)
if ($row_number%2==0) {
$tr_color="#CCFFFF";
}else{
$tr_color="#CCFFCC";
}
echo ("\n");
for ($i=0;$i<$rs_field_counts;$i++){
echo ("");
if(empty($row[$i])){
echo (" ");
}else {
echo ($row[$i]);
}
echo (" | ");
}
echo ("\n
\n");
$row_number++;
}
echo "
\n"; //不要忘了数据显示结束一定要输出这个呦!只有到这里你才算大功告成。
}else {//如果表中没有数据
echo("sorry,没有符合条件的数据!
\n");
}
//下面两句纯熟充数 :)
mysql_free_result($rs);
mysql_close($conn);
?>
/phpyy/43513.htmlwww.phpzy.comtrue/phpyy/43513.htmlTechArticlephp分页注释版-PHP源码 php代码: 0) {//当然了,只有表中有数据才会用下面的一大堆程序来显示 $pageSize = 2; //每页显示的记录数 #当前页号$page,这个值由分页的链接得来,如果没有提供这...
PHP之友评论