你得说你是什么数据库啊?
mysql?
oracle?
sqlserver?

解决方案 »

  1.   

    这个不是分页,是List + Detail的模式。首先,有一个List,这个来自于sql的 select * from $table where $condition,如果是每个用户只显示一行,则需要添加group by username。
    然后在List显示的时候提供一个link或者button,点击以后传入username。 此时通过$username = addslashes($username); 然后sql是select * from $table where username='$username',来出数据。
      

  2.   

    <form  action="index1.php" name="form1" method="POST">
    <?php
    require_once("conn.php");
    global $conn;
    $maxPage=5;if($conn==false)
    {
    echo "<script>alert('Database Connection Error!');location.href='phpinfo.php';</script>";
    }
    else 
    {
    $execc="select count(*) from human ";
    $resultc=mysql_query($execc);
    $rsc=mysql_fetch_array($resultc);
    $num=$rsc[0];
    if(empty($_GET['page']))
    $page=0;
    else
    {
    $page=$_GET['page'];
    if($page<0)
    $page=0;
    if($page>=ceil($num/$maxPage))
    $page=ceil($num/$maxPage)-1;

    echo "<a href='index1.php?page=0'>FirstPage</a> ";
    echo "<a href='index1.php?page=".($page-1)."'>PrevPage</a> ";
    echo "<a href='index1.php?page=".($page+1)."'>NextPage</a> ";
    echo "<a href='index1.php?page=".(ceil($num/5)-1)."'>LastPage</a>";

    echo "<table border=1 >";
    echo "<tr>";
    echo "<td>id</td>";
    echo "<td>name</td>";
    echo "<td>age</td>";
    echo "<td>sex</td>";
    echo "</tr>";
    $exec="select * from human order by id  limit ".($page*$maxPage).",".$maxPage;
    $result=mysql_query($exec);

    while($rs=mysql_fetch_object($result))
    {
    echo "<tr>";
    echo "<td><a href='update.php?id=".$rs->id."'>".$rs->id."</a></td>";
    echo "<td>".$rs->name."</td>";
    echo "<td>".$rs->age."</td>";
    echo "<td>".$rs->sex."</td>";
    echo "</tr>";
    }
    echo "</table>";
    }
    ?>
    </form>
      

  3.   

    SELECT DINSTINCT(NAME) FROM table ORDER BY NAME ASC
    查出有多少个name然后把name当做分页的条件来查询。相同的name值的记录就在一页了。
    不知道是不是你想要的。
      

  4.   

    function pageft($total,$parameter,$sort_order) {
    global  $page,$limit,$offset;
    if($_POST['page'] && $_POST['page']!=0){
        $page=$_POST['page'];
    }
     elseif(!isset($page)){
         $page = 1;
     }
    if($_POST['limit']){
        $limit = $_POST['limit'];
    }
    elseif(!$limit){
        $limit = 10;
    }
    if($total){
       $lastpg   = ceil($total/$limit);
    }
    else{
        $lastpg = 1;
    }
    $totalpg  = $lastpg;
    if($totalpg<$page){
        $page=1;
    }
     if($_POST['page_select']) {
         $page=($_POST['page_select']<=$lastpg ? $_POST['page_select'] : $lastpg);
     }
     else if(!isset($page_select)){
         $page_select = $page;
     } //$page_select = min($lastpg,$page);
    $url      = $_SERVER['PHP_SELF'];
        $url     .= "?".$parameter;
        if($sort_order){
           $sort_order_temp = urlencode($sort_order);
           $url .= "&sort_order=".$sort_order_temp;
          }
    $prepg    = $page-1;
    $nextpg   = ($page==$lastpg ? 0 : $page+1);
    if($_POST['offset']){
            $offset = $_POST['offset'];
        }
      else {
              $offset = ($page-1)*$limit;
          }
    $first_page      = $url."&page=1&limit=".$limit;          //首页url
    $before_page     = $url."&page=".$prepg."&limit=".$limit; //前页url
    $present_pag     = $url."&page=".$page."&limit=".$limit;  //当前页url
    $next_page       = $url."&page=".$nextpg."&limit=".$limit;//后页url
    $last_page       = $url."&page=".$lastpg."&limit=".$limit;//尾页url
    $on_limit_select = $url."&limit=";                        //选页
    $page_choose     = $url;                                  //选择显示页数

        $pagenav  = "<form action=$url method=post>";
    $pagenav .=" <a href='$first_page'>首页</a> ";
    if($prepg){
    $pagenav.=" <a href='$before_page'>前页</a> ";
        }
         else {
           $pagenav.=" 前页 ";
        }
    if($nextpg){
            $pagenav.=" <a href='$next_page'>后页</a> ";
        }
         else {
            $pagenav.=" 后页 ";
        }
      $pagenav.=" <a href='$last_page'>尾页</a> "; //下拉跳转列表,循环列出所有页码:
    $pagenav.=" 每页";
    $pagenav .= "<select name=limit size='1' onchange='window.location=\"$on_limit_select\"+this.value'>\n";
    $page_size = array ("10","20","50");
    for($i=0;$i<count($page_size);$i++) {
    if(strcmp($page_size[$i],$limit)==0){
    $pagenav .= "<option value='$page_size[$i]' selected>$page_size[$i]</option>";
    } else {
    $pagenav .= "<option value='$page_size[$i]'>$page_size[$i]</option>";
    }
    }
    $pagenav.="</select> 第 ".$page." 页/共 ".$lastpg." 页 ";
    $pagenav.="  跳转到<input type=text name=page_select size=2 value='$page'>页";
        $pagenav.="<input type=submit name='submit' value='GO' onclick='window.location=\"$page_choose\"'>
                   <input type=hidden name=limit value=".$limit.">
                   <input type=hidden name=page value=".$page.">
                   </form>";
        return $pagenav;
    }写的函数,可以直接在php代码中调用该函数进行分页显示,其中传入的参数$total是显示的纪录的总数,$parameter是获取纪录的sql语句,$sort_order是纪录的排列顺序。
    例如在某个网页中使用该函数分页显示:
    $extra_sql = "select extra_id,start_time,end_time,examine_by,next_examine,final_examine,extra_state from extra where (examine_by = $suser_id or next_examine = $suser_id or final_examine =$suser_id)"
                    ." $conditionstring ";
    $extra_result = db_query($extra_sql);
    $extra_num = db_numrows($extra_result);//查询记录的数目
    $displaypage = pageft($extra_num,$query_condition_parameter,$sort_order); //--a function for page turning (function.php).