group by 怎么分页 与获取总记录数
???

解决方案 »

  1.   

    获取总记录数可以用这个语句:
      $tablename=news;
      $sql="select count(*) as num from ".$tablename;
      $result=mysql_query($sql);
      $row=mysql_fetch_array($result);前提是您先连上数据库。
      

  2.   

    group by 和分页没有关系,group by 是分组查询
    如果你想分页的话,需要计算你当前页的开始记录条数和每页记录数,然后用limit $start,$pagenum这样来获得该页记录
      

  3.   

    <?php
      $link=@mysql_connect( "$db_server","$db_user_name","$db_user_password");
      $pagesize=10;
      $pageno=(int)$_GET['pageno'];
      $pageno=$pageno<=0?1:$pageno;
      if(!isset($totlapage)){
         $restult=mysql_query("select id from tablename");
         $number=mysql_num_rows($restult);
         if(!$number){echo '数据表中无数据记录。';exit;}
         $totlapage=(int)(($number-1)/$pagesize+1);
         }
      $pageno=$pageno>$totlapage?$totlapage:$pageno;
      $startrow=($pageno-1)*$pagesize;
      $restult=mysql_query("select id,title,da,author,path from news limit $startrow,$pagesize");    if($link==false)
       {
       print "<p><b>连接数据库时发生错误请稍后再试!</b></p>";
        exit();
       }
      $qu="use mydatabases";//打开数据库 
      $res=@mysql_query($qu,$link);
      if($res==false)
       {
       print "<p><b>打开数据库时发生错误,请稍后再试!</b></p>";
       exit();
       }            
      $sql="select * from tablename";
      $result=mysql_query($sql,$link);//
      
      $tablename=news;
      $sql="select count(*) as num from ".$tablename;
      $result=mysql_query($sql);
      $row=mysql_fetch_array($result);
        
    echo "当前共有新闻:";
    echo $row['num'];
    echo "条";
    echo "<table border=1>";//使用表格格式化数据
    echo "<tr><td>ID</td><td>新闻标题</td><td>日期</td><td>作者</td><td>地址</td><td>修改或删除</td></tr>";
    while($row=mysql_fetch_assoc($restult)) { //遍历SQL语句执行结果把值赋给数组echo "<tr>";
    echo "<td>".$row[id]."</td>";//显示新闻ID
    echo "<td><a href=".$row[path].">".$row[title]."</a></td>";//显示新闻带连接的标题
    echo "<td>".$row[da]." </td>";//显示新闻发布日期
    echo "<td>".$row[author]." </td>";//显示新闻作者
    echo "<td><a href=".$row[path].">浏览</a></td>";//显示新闻的浏览地址
    echo "<td><a href='modifynews.php?id=".$row[id]."' target=_self>修改</a></td>";//显示新闻的浏览地址
    echo "</tr>";
    }
    $url=$_SERVER['PHP_SELF'];
    if($pageno==1) echo "首页 | 上一页 ";else echo "<a href=$url?pageno=1>首页</a> | <a href=$url?pageno=".($pageno-1).">上一页</a> ";if($pageno==$totlapage) echo "| 下一页 | 末页";else echo "| <a href=$url?pageno=".($pageno+1).">下一页</a> | <a href=$url?pageno=$totlapage>末页</a>";
    echo "</table>";
    ?>给你一个牛逼的分页代码!
    保证可以用!
      

  4.   

    分页的话 怎么的也得知道你用什么数据库才行吧
    MYSQL 用LIMIT实现
    SQL SERVER的话 应该得用TOP了
    COUNT数的话需要SELECT COUNT(*)来搜索得到的
      

  5.   

    group by和分页没关系的
    说白了,group by其实就是去重
      

  6.   

    你把所有的数据都查出来,然后设置一页显示多少条数据,用limit,相关代码网上很多的,你可以查下,然后学习下