10/05/2007, 07:41
|
| | | Fecha de Ingreso: enero-2003 Ubicación: venus >> ((_\
Mensajes: 254
Antigüedad: 21 años, 3 meses Puntos: 1 | |
Re: Paginator no propaga variables...cómo se soluciona? paginar.php Código PHP: <? // ------------------------------------------------------------- // Builds Prev/Next Class File // // Credits : // Base on Original Code from // Previous/next v.01 by sephiroth([email protected]) // http://www.sephiroth.it/download/detail.php?id=64 // // General Comment Controls // -- Comments in Brackets [] denotes a Function or Class // -- Other Comments denote a General comment of a specific code // Copyright (c) 2001 Lyon Lim - For File Protocol 1.0 // // Last Updated : 16th February 2002 // -------------------------------------------------------------- // -------------------------------------------------------------- // USAGE // /* <? include 'buildNav.php'; $conn = mysql_connect('localhost','xxxxxx','xxxxxx'); mysql_select_db('dbname'); $db = new buildNav; $db->offset = 'offset'; $db->number_type = 'number' (or 'alpha') $db->limit = 10; $db->execute("SELECT * from murphy ORDER by id ASC"); while($myrow = mysql_fetch_array($db->sql_result)) { print $myrow["your_column"]; } // ------------------------------- // CREATE A VAR WITH THE NAV LINKS // ------------------------------- $pages = $db->show_num_pages('«','« prev','»','next »','|','class=moi'); // show pages // OUTPUT THE NAV print $pages; // ------------------------------- // RESULTS INFORMATION // ------------------------------- $info = $db->show_info(); print $info; ?> */ // -------------------------------------------------------------- class buildNav // [Class : Controls all Functions for Prev/Next Nav Generation] { var $limit, $execute, $query; function execute($query) // [Function : mySQL Query Execution] { !isset($_GET[$this->offset]) ? $GLOBALS[$this->offset] = 0 : $GLOBALS[$this->offset] = $_GET[$this->offset]; $this->sql_result = mysql_query($query); $this->total_result = mysql_num_rows($this->sql_result); if(isset($this->limit)) { $query .= " LIMIT " . $GLOBALS[$this->offset] . ", $this->limit"; $this->sql_result = mysql_query($query); $this->num_pages = ceil($this->total_result/$this->limit); } } function show_num_pages($frew = '', $rew = '', $ffwd = '', $fwd = '', $separator = '|', $objClass = '') // [Function : Generates Prev/Next Links] { $current_pg = $GLOBALS[$this->offset]/$this->limit+1; if ($current_pg > 5) { $fgp = $current_pg - 5 > 0 ? $current_pg - 5 : 1; $egp = $current_pg+4; if ($egp > $this->num_pages) { $egp = $this->num_pages; $fgp = $this->num_pages - 9 > 0 ? $this->num_pages - 9 : 1; } } else { $fgp = 1; $egp = $this->num_pages >= 10 ? 10 : $this->num_pages; } if($this->num_pages > 1) { // searching for http_get_vars foreach ($GLOBALS[HTTP_GET_VARS] as $_get_name => $_get_value) { if ($_get_name != $this->offset) { $this->_get_vars .= "$_get_name=$_get_value&"; } } $this->successivo = $GLOBALS[$this->offset] + $this->limit; $this->precedente = $GLOBALS[$this->offset] - $this->limit; $this->theClass = $objClass; if (!empty($rew)) { $return .= ($GLOBALS[$this->offset] > 0) ? "[<a href=\"$GLOBALS[PHP_SELF]?$this->_get_vars$this->offset=0\" $this->theClass>$frew</a>] <a href=\"$GLOBALS[PHP_SELF]?$this->_get_vars$this->offset=$this->precedente\" $this->theClass><font color='black'>$rew</font></a> $separator " : "[$frew] $rew $separator "; } // showing pages if ($this->show_pages_number || !isset($this->show_pages_number)) { for($this->a = $fgp; $this->a <= $egp; $this->a++) { $this->theNext = ($this->a-1)*$this->limit; $_ss_k = floor($this->theNext/26); if ($this->theNext != $GLOBALS[$this->offset]) { $return .= " <a href=\"$GLOBALS[PHP_SELF]?$this->_get_vars$this->offset=$this->theNext\" $this->theClass> "; if ($this->number_type == 'alpha') { if($_ss_k>0) { $theLink = chr(64 + ($_ss_k)); for($b = 0; $b < $_ss_k; $b++) { $theLink .= chr(64 + ($this->theNext%26)+1); } $return .= $theLink; } else { $return .= chr(64 + ($this->a)); } } else { $return .= $this->a; } $return .= "</a> "; } else { if ($this->number_type == 'alpha') { if($_ss_k>0) { $theLink = chr(64 + ($_ss_k)); for($b = 0; $b < $_ss_k; $b++) { $theLink .= chr(64 + ($this->theNext%26)+1); } $return .= $theLink; } else { $return .= chr(64 + ($this->a)); } } else { $return .= $this->a; } $return .= ($this->a < $this->num_pages) ? " $separator " : " "; } } $this->theNext = $GLOBALS[$this->offset] + $this->limit; if (!empty($fwd)) { $offset_end = ($this->num_pages-1)*$this->limit; $return .= ($GLOBALS[$this->offset] + $this->limit < $this->total_result) ? "$separator <a href=\"$GLOBALS[PHP_SELF]?$this->_get_vars$this->offset=$this->successivo\" $this->theClass><font color='black'>$fwd</font></a> [<a href=\"$GLOBALS[PHP_SELF]?$this->_get_vars$this->offset=$offset_end\" $this->theClass>$ffwd</a>]" : "$separator $fwd [$ffwd]"; } } } return $return; } function show_info() // [Function : Showing the Information for the Offset] { if($GLOBALS[$this->offset] >= $this->total_result || $GLOBALS[$this->offset] < 0) return false; //$return .= $this->total_result . " Total Results<br>"; $return .= " Total ".$this->total_result . "<br>"; $_from = $GLOBALS[$this->offset] + 1; $GLOBALS[$this->offset] + $this->limit >= $this->total_result ? $_to = $this->total_result : $_to = $GLOBALS[$this->offset] + $this->limit; $return .= "Mostrando " . $_from . " de " . $_to . "<br>"; return $return; } } ?> |