在PHP中创建一个分页函数,该函数存在于生成HTML的其他类中

时间:2010-08-15 20:28:37

标签: php html

我需要帮助在PHP中创建分页功能。如果它存在于索引页面中,我已经创建了一个非常有用的。我试着将它放在一个PHP类中,但它没有用。请帮忙。这是代码:

function paging($eu,$limit,$back,$next,$nume,$t1)
  {
   $l=1;
   $i=0;

   echo $eu;  //$
   echo $limit; // maximum record per page
   //echo $back;
   echo $next; //next page 
   echo $nume; // number of rows

   if($back >=0)
    {
    $a = "<a _href='index?start=$back'>PREV</a>";
   }
   else
   {
    $a ="";
   }

   for($i=0;$i < $nume;$i=$i+$limit)
   {
    if($i <> $eu)
     {
      $b = " <='index?start=$i'>$l</a>";
      $c = "";
     }
    else 
     { 
      $b = "";
      $c =$l; 
      $l=$l+1;
     }
   }

   if($t1 < $nume) 
   {
    $e = "<='index.php?start=$next'>NEXT</a>";
   }


   $pg = "
   <table>
    <tr>
     <td>$a</td>
     <td>$b $c</td>
     <td>$e</td>
    </tr>
   </table> 
   ";

   return $pg; 

  }

1 个答案:

答案 0 :(得分:0)

很可能这就是你搞砸的地方:

for($i=0;$i < $nume;$i=$i+$limit) {
   if ($i <> $eu) {
       $b = " <='index?start=$i'>$l</a>";  // <--- here
       $c = "";
   } else { 
       $b = ""; // <<--- here
       $c =$l; 
       $l=$l+1;
   }
}

您在每次循环迭代时覆盖$b值,而不是附加“当前”页面HTML。很可能你会想要这样的东西:

       $b .= " <='index?start=$i'>$l</a>";
          ^--- concatenation operator

与做:

相同
       $b = $b . " <='index?start=$i'>$l</a>";