Thank you a lot! That is exactly what i was looking for.

--
==================================================
Victor J. Espina S.
Gerente de Desarrollo / Software Development Manager
Software de Venezuela, S.A.
Caracas, Venezuela

Email: [EMAIL PROTECTED]
Personal site: http://victorespina.coolfreepages.com
MSN: [EMAIL PROTECTED]
==================================================
(Elimine 'nospam' en las direcciones email)
(Remove 'nospam' in email and MSN address)
==================================================
"Tom Rogers" <[EMAIL PROTECTED]> escribió en el mensaje
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> Hi,
>
> Tuesday, December 3, 2002, 7:37:20 AM, you wrote:
> VE> Hi.
>
> VE> I'm new in PHP. Could you point me where can i download a sample
script
> VE> about how can i paginate some results?
>
> VE> TIA
> Here is a class that will create a google like pagination of results  if
that is
> what you are after :)
>
> <?
> class page_class {
>         var $count = 0;         //total pages
>         var $start = 0;         //starting record
>         var $pages = 0;         //number of pages available
>         var $page = 1;          //current page
>         var $maxpages;          //shows up to 2 * this number and makes a
sliding scale
>         var $show;              //number of results per page
>         function page_class($count=0,$show=5,$max=9){
>                 $this->count = $count;
>                 $this->show = $show;
>                 $this->maxpages = $max;
>                 ($this->count % $this->show == 0)? $this->pages =
intval($this->count/$this->show) :$this->pages
intval($this->count/$this->show) +1;
>                 if(!empty($_GET['search_page'])){
>                         $this->page = $_GET['search_page'];
>                         $this->start = $this->show * $this->page -
$this->show;
>                 }
>         }
>         function get_limit(){
>                 $limit = '';
>                 if($this->count > $this->show) $limit =
'LIMIT'.$this->start.','.$this->show;
>                 return $limit;
>         }
>         function make_head_string($pre){
>                 $r = $pre.' ';
>                 $end = $this->start + $this->show;
>                 if($end > $this->count) $end = $this->count;
>                 $r .= ($this->start +1).' - '.$end.' of '.$this->count;
>                 return $r;
>         }
>         function make_page_string($words,$pre='Result Page:'){
>                 $r = $pre.' ';
>                 if($this->page > 1){
>                         $y = $this->page - 1;
>                         $r .= '<a
href="'.$_SERVER['PHP_SELF'].'?search_page='.$y.$words.'">Previous</a>&nbsp;
';
>                 }
>                 $end = $this->page + $this->maxpages-1;
>                 if($end > $this->pages) $end = $this->pages;
>                 $x = $this->page - $this->maxpages;
>                 $anchor = $this->pages - (2*$this->maxpages) +1;
>                 if($anchor < 1) $anchor = 1;
>                 if($x < 1) $x = 1;
>                 if($x > $anchor) $x = $anchor;
>                 while($x <= $end){
>                         if($x == $this->page){
>                                 $r .= '<span
class="s">'.$x.'</span>&nbsp;';
>                         }
>                         else{
>                                 $r.= '<a
href="'.$_SERVER['PHP_SELF'].'?search_page='.$x.$words.'">'.$x.'</a>&nbsp;';
>                         }
>                         $x++;
>                 }
>                 if($this->page < $this->pages){
>                         $y = $this->page + 1;
>                         $r .= '<a
href="'.$_SERVER['PHP_SELF'].'?search_page='.$y.$words.'">Next</a>&nbsp;';
>                 }
>                 return $r;
>         }
> }
>
> //Usage
>
> mysql_connect("**.**.**.**", "******", "********") or die (mysql_error());
>
> $Query = "SELECT COUNT(*) AS cnt FROM tabletosearch WHERE fieldtosearch
LIKE '%" .$searchword. "%'";
> $query = mysql_query($Query) or die(mysql_error());
> $row = mysql_fetch_array($result);
> $count = $row['cnt'];
> if($count > 0){
>           //start class total number of results,number of results to
show,max number of pages on a sliding scale (ends up as 2x this number..ie
20)
>         $page = new page_class($count,5,10);
>         $limit = $page->get_limit();
>         $Query2= "SELECT * FROM tabletosearch WHERE fieldtosearch LIKE '%"
.$searchword. "%' ORDER BY  whatever ASC ".$limit;
>         $result = mysql_query($Query2) or die(mysql_error());
>         $hstring = $page->make_head_string('Results');
>         $pstring =
$page->make_page_string("&amp;searchword=".$searchword."&amp;whatever=".$wha
tever);//add the other variables to pass to next page in a similar fashion
>         echo "<table><tr><td>".$hstring."</td></tr>";
>         while($row = mysql_fetch_array($result)){
>                    echo "<tr><td>".$show_data_here."</td></tr>";
>         }
>         echo "<tr><td>".$pstring."</td></tr></table>";
> }
> ?>
> Note: the search variables on subsequent pages will be passed by GET
method
>
>
>
>
>
>
>
>
> --
> regards,
> Tom
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to