php 数据库查询分页代码

这个代码是我自己写某个程序时用到的!写完后看着蛮简单的,分享一下吧!

<?php
    $SQL_TABL="abc";//表名
    $where_name="id > 10";//查询条件
    $perpagenum = 3;//每页显示数量

    $total = mysql_fetch_array(mysql_query("select count(*) AS count from $SQL_TABL WHERE (".@$where_name.")"));
    $sql_count=$total['count'];//获取返回的数据条数
    unset($total);//注销变量 $total
   
    //计算出不准确的页面数$page_all_num_f为整数,$page_all_num_t为准确值(可能为小数)
    $page_all_num_f=round($page_all_num_t=$sql_count/$perpagenum,0);
    if($page_all_num_f<$page_all_num_t)//计算出正确的页面数
        $page_all_num=$page_all_num_f+1;
    else
        $page_all_num=$page_all_num_f;
   
    if(is_numeric(@$_GET['p']) && @$_GET['p']>1 && @$_GET['p']<=$page_all_num)//获取GET参数判断当前页面
        $page_num=$_GET['p'];
    else
        $page_num=1;

    $sql_s_num=($page_num-1)*$perpagenum;//计算开始的数据条数

    $sql_p="LIMIT ".$sql_s_num." , ".$perpagenum;//生成数据库查询代码

    $result = mysql_query("select * from $SQL_TABL WHERE (".@$where_name.") ".$sql_p);//查询数据

    while($row=mysql_fetch_array($result)){//主循环
    //输出内容
    }

    //分页按钮
    for($i=1;$i<=$page_all_num;$i++)
    {
   
        if(@$_GET[name]!=null)//页面的其他GET参数
            $p_n="name=".@$_GET[name]."&";
        else
            $p_n=null;

        if($page_num==$i)//当前页面数字的强调
            $p_flag="class="flag" ";
        else
            $p_flag=null;

        echo "<a href="?".$p_n."p=$i" title="第 $i 页" $p_flag>$i</a>\n";
    }
?>

7条评论在“php 数据库查询分页代码”

回复 Alonesky   取消