<?php$sql = "select * from tb_xydt order by id desc ";
if($_GET){
//得到要提取的页码
$page_num = $_GET['page_num']? $_GET['page_num']: 1;
}
else{
//首次进入时,页码为1
$page_num = 1;
}
//得到总记录数
$DB->query($sql);
$row_count_sum = $DB->get_rows();
//每页记录数,可以使用默认值或者直接指定值
$row_per_page =10 ;
//总页数
$page_count = ceil($row_count_sum/$row_per_page);
//判断是否为第一页或者最后一页
$is_first = (1 == $page_num) ? 1 : 0;
$is_last = ($page_num == $page_count) ? 1 : 0;
//查询起始行位置
$start_row = ($page_num-1) * $row_per_page;
//为SQL语句添加limit子句
$sql .= " limit $start_row,$row_per_page";
//执行查询
$DB->query($sql);
$res = $DB->get_rows_array();
//结果集行数
$rows_count=count($res);
?>
<table width="670" border="0" cellspacing="0" cellpadding="0">
                          <tr>
                            共[<strong><?php echo $row_count_sum;?></strong>]条&nbsp;每页[<strong><?php echo $row_per_page;?></strong>]条/共[<strong><?php echo $page_count;?></strong>]页&nbsp;
                    <!--  分页显示控制链接 -->
                    <?php
if(!$is_first){
?>
                    <a href="dtright.php?page_num=1"> 第一页</a> <a href="dtright.php?page_num= <?php echo ($page_num-1) ?>">上一页</a>
                    <?php
}
else{
?>
第一页&nbsp;&nbsp;上一页
<?php
}
if(!$is_last){
?>
                    <a href="dtright.php?page_num=<?php echo ($page_num+1) ?>">下一页</a> <a href="dtrightt.php?page_num=<?php echo $page_count ?>">最后一页</a>
                    <?php
}
else{
?>
                    下一页&nbsp;&nbsp;最后一页
                    <?php
}
?>&nbsp;&nbsp;</td>
                          </tr>
                        </table>
运行之后显示的错误是Fatal error: Call to a member function query() on a non-object in D:\AppServ\www\xy\dtright.php on line 32
第32行就是$DB->query($sql);

解决方案 »

  1.   

    要么找到相应的数据库类实例化$DB,要么改用mysql_xxx系列函数。
      

  2.   

    <?php
    include("conn.php");$sql = "select * from tb_xydt order by id desc ";
    if($_GET){
    //得到要提取的页码
    $page_num = $_GET['page_num']? $_GET['page_num']: 1;
    }
    else{
    //首次进入时,页码为1
    $page_num = 1;
    }
    //得到总记录数
    $numq=mysql_query("SELECT * FROM `tb_xydt`");
        $num = mysql_num_rows($numq);

    //每页记录数,可以使用默认值或者直接指定值
    $row_per_page =2 ;
    //总页数
    $page_count = ceil($num/$row_per_page);
    //判断是否为第一页或者最后一页
    $is_first = (1 == $page_num) ? 1 : 0;
    $is_last = ($page_num == $page_count) ? 1 : 0;
    //查询起始行位置
    $start_row = ($page_num-1) * $row_per_page;
    //为SQL语句添加limit子句
    $sql .= " limit $num,$row_per_page";
    //执行查询

    $sql=mysql_query("select * from tb_xxgk limit $num  $row_per_page  ",$conn);
    while($myrow_1=mysql_fetch_array($sql)) 
         {
       
    echo "$myrow_1[title]";}
    //结果集行数
    $rows_count=count($row);
    ?>
    共[<strong><?php echo $num;?></strong>]条&nbsp;每页[<strong><?php echo $row_per_page;?></strong>]条/共[<strong><?php echo $page_count;?></strong>]页&nbsp;
                        <!--  分页显示控制链接 -->
                        <?php
    if(!$is_first){
    ?>
                        <a href="dtright.php?page_num=1"> 第一页</a> <a href="dtright.php?page_num= <?php echo ($page_num-1) ?>">上一页</a>
                        <?php
    }
    else{
    ?>
    第一页&nbsp;&nbsp;上一页
    <?php
    }
    if(!$is_last){
    ?>
                        <a href="dtright.php?page_num=<?php echo ($page_num+1) ?>">下一页</a> <a href="dtright.php?page_num=<?php echo $page_count ?>">最后一页</a>
                        <?php
    }
    else{
    ?>
                        下一页&nbsp;&nbsp;最后一页
                        <?php
    }
    ?>运行错误是Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\xy\dtright.php on line 52
    共[4]条 每页[2]条/共[2]页  第一页  上一页 下一页 最后一页 
    现在是分页对了,但是数据库中的内容不能显示要怎样才能显示出数据库中的标题???
      

  3.   

    SQL错误:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2' at line 1
    是什么意思??
      

  4.   

     select * from tb_xxgk limit $num , $row_per_page 
    LIMIT 语句 $num表示从哪一行开始,记录第一行是 0 
    $row_per_page 表示取多少行记录
    中间用逗号隔开