$offset=($page-1)*$perpage+1;
写成
$offset=($page-1)*$perpage;

解决方案 »

  1.   

    $page 最开始的值是多少?limit $offset,$perpage$offset的值是根据$page的运算得来的,感觉问题最大可能出现在$offset=($page-1)*$perpage+1;这里
      

  2.   

    $page的值是1呀,第一页就不显示最后一条记录了!如果改成$offset=($page-1)*$perpage;
    运行的结果是对了,但是如果是在第一页的话,$offset的值就是0,但数据库里的ID号是从1开始的呀!!怎么理解这里???谢谢~
      

  3.   

    $offset=($page-1)*$perpage; // 记录是从0开始计算的
      

  4.   

    limit $offset,$perpage是指从$offset起取出$perpage个符合条件的记录。你第一页当然是$offset为0啊。<?
    if(empty($page)) 
     {$page=1;}
    $pagesize=30;
    $offset=($page-1)*$pagesize;
    $query="select * from myarticle where .........";
    $res=mysql_query($query);
    $total=mysql_num_rows($res);
    $page_count=ceil($total/$pagesize);$query="select * from myarticle where .....limit $offset,$pagesize";
    $res=mysql_query($query);
    while($array=mysql_fetch_array($res))
    {
    ?>
    ..........
    <?
    }
    ?>
    <table align="center">
            <tr> 
              <td> 
                <?
    $prev_page=$page-1;
    $next_page=$page+1;        if ($prev_page<1){
                echo "前一页&nbsp&nbsp";
            }
            else{
                echo "<a href='$PATH_INFO?page=$prev_page'>前一页</a>&nbsp&nbsp";
            }
            echo "&nbsp;";
            if ($next_page>$page_count){
                echo "后一页&nbsp&nbsp";
            }
            else{
                echo "<a href='$PATH_INFO?page=$next_page'>后一页</a>&nbsp&nbsp";
            }
            echo "&nbsp;";
            $current_page=(int)$offset/(int)$pagesize+1;
            print "当前第<font color=red>$current_page</font>页/共<font color=red>$page_count</font>页&nbsp共<font color=red>$total</font>篇&nbsp<font color=red>$pagesize</font>篇文章/页";
    ?>
              </td>
            </tr>
          </table>