这是翻页程序:
include_once('conn.php');if(isset($_GET['pclass']))
 {
   $p_class=$_GET['pclass'];
 }
else
 {
   $p_class='';
 }$respage = mysql_query("SELECT COUNT(*) FROM product where p_class='$p_class';"); //$num 是数据表中符合条件的总纪录数
while($row = mysql_fetch_assoc($respage))
    {
      $num = $row[0];//这一行报错:Notice: Undefined offset: 0 in D:\setup\xampp\htdocs\products\showclass.php on line 88
    }
      $recordnum =40;   // 每页显示多少条记录, 
      $pages = ceil($num/$recordnum); //一共有多少页
    if (@$_GET["page"]) // 获取 url 中的参数 page
       {
      
     
     //$pre 和 $next 为后面前一页和后一页的连接参数 page 的值
     // 如果 url 中的参数为 1 ,把当前页置为 1 前一页, $pre 也为一, $next 为 2
       if($_GET["page"]==1)
         {
           $current = 1;//当前页
           $pre = 1;    //$pre 是前一页的
           $next = 2;   //$next 是后一页
          }
        else
          {
           $current = $_GET["page"];
           $pre = $current-1;
           $next = $current+1;
           }    // 如果 url 中的参数不为一(不是第一页),就把当前页取值为 url 中获得的参数, $pre 为当前页减 1 , $next 为加 1
        }
        else 
         {    
           $current = 1;
           $pre = '1';
           $next = 2;
          }// 如果 url 中没有参数 page ,当前页置为 1 , $pre=1,$next=2
        $now = ($current-1)*$recordnum;
        $echopage = "<table width=450 cellpadding=0 cellspacing=0><tr>";
        $echopage .= "<td><font>".$pages." 页 </font></td>";
        $echopage .= "<td><font><a href=".$_SERVER["HP_SELF"]."?page=1> 第一页 </a><font></td><td><font><a href=".$_SERVER["HP_SELF"]."?page=".$pages."> 最后一页 </a></font></td>";//报错:Notice: Undefined index: HP_SELF in D:\setup\xampp\htdocs\products\showclass.php on line 120
        $echopage .= "<td><font><a href=".$_SERVER["HP_SELF"]."?page=$pre> 前一页 </a>   <a href=".$_SERVER["PHP_SELF"]."?page=$next> 后一页 </a></font></td>";//报错:Notice: Undefined index: HP_SELF in D:\setup\xampp\htdocs\products\showclass.php on line 120
        $echopage .= "<td><font> 到第 <select name='topage' size='1' onchange='window.location=\"".$_SERVER["PHP_SELF"]."?page=\"+this.value'>\n";
    for($i=1;$i<=$pages;$i++)
      {
      if($i==$current)
        $echopage .= "<option value='$i' selected>$i</option>\n";
      else
        $echopage .= "<option value='$i'>$i</option>\n";
       }
      $echopage .= "</select> 页 </font></td>";
      $echopage .= "</tr></table>"; 
下面是放在需要分页地方的代码:
<td ><div id="page"><?php echo $echopage ?></div></td>
=====在WEB端报错:Notice: Undefined offset: 0 in D:\setup\xampp\htdocs\products\showclass.php on line 88Notice: Undefined index: HP_SELF in D:\setup\xampp\htdocs\products\showclass.php on line 120Notice: Undefined index: HP_SELF in D:\setup\xampp\htdocs\products\showclass.php on line 120Notice: Undefined index: HP_SELF in D:\setup\xampp\htdocs\products\showclass.php on line 121

解决方案 »

  1.   

    $num = $row[0];//这一行报错
    是因为  mysql_fetch_assoc 返回的是关联数组,没有下标
    改为  mysql_fetch_arrayHP_SELF 应为 PHP_SELF
      

  2.   

    十分感谢,搞定了!
    <?php
    if(isset($_GET['pclass']))
     {
       $p_class=$_GET['pclass'];
     }
    else
     {
       $p_class='';
     }
    $respage = mysql_query("SELECT COUNT(*) FROM product where p_class='$p_class';"); 
    while($row = mysql_fetch_array($respage))
        {
          $num = $row[0];
        }
          $recordnum =40;
          $pages = ceil($num/$recordnum);
        if (@$_GET["page"])
           {
           if($_GET["page"]==1)
             {
               $current = 1;
               $pre = 1; 
               $next = 2;
              }
            else
              {
               $current = $_GET["page"];
               $pre = $current-1;
               $next = $current+1;
               } 
            }
            else 
             {    
               $current = 1;
               $pre = '1';
               $next = 2;
              }
            $now = ($current-1)*$recordnum;
            $echopage = "<table width=450 cellpadding=0 cellspacing=0><tr>";
            $echopage .= "<td><font>Totle".$pages." pages </font></td>";
            $echopage .= "<td><font><a href=".$_SERVER["PHP_SELF"]."?page=1> First </a><font></td><td><font><a href=".$_SERVER["PHP_SELF"]."?page=".$pages."> 最后一页 </a></font></td>";
            $echopage .= "<td><font><a href=".$_SERVER["PHP_SELF"]."?page=$pre> 前一页 </a>   <a href=".$_SERVER["PHP_SELF"]."?page=$next> 后一页 </a></font></td>";
            $echopage .= "<td><font> 到第 <select name='topage' size='1' onchange='window.location=\"".$_SERVER["PHP_SELF"]."?page=\"+this.value'>\n";
        for($i=1;$i<=$pages;$i++)
          {
          if($i==$current)
            $echopage .= "<option value='$i' selected>$i</option>\n";
          else
            $echopage .= "<option value='$i'>$i</option>\n";
           }
          $echopage .= "</select> 页 </font></td>";
          $echopage .= "</tr></table>"; 
    ?>