Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/06/2009, 17:22
mariosequeda
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
consulta sobre buscador y paginador de PHP

Saludos amigos resulta que tengo un problema con una aplicaion que estoy desarrollando y es que necesito que busque y pagine al tiempo y la verdad realiza ambas funciones al tiempo el unico inconveniente es que no me muestra los enlaces de paginacion aca les dejo el codigo a ver si me pueden ayudar.

estoy usando una clase que encontre en aqui en el foro para la conexion con la BD que es esta:

Código PHP:
class Conectar{
    private        
$resultado;
    protected    
$cnx;
    public        
$pagError=false;//si es true devuelve el resultado y false lo termina con die

    
public function __construct(){
        
$this->cnx=@mysqli_connect(_LOCALHOST_,_USUARIO_,_PASSWORD_,_BASE_);
        if(!
$this->cnx){
            
self::getError(1);//si ocurre error se llama a la funcion que nos devuelve el error
        
}    
    }
    
    
#funcion para escapar caracteres especiales y evitar inyeccin de SQL
    
public function setEscapar($cadena){
        return @
mysqli_escape_string($this->cnx,$cadena);
    }

    
#devuelve el error de mysql en caso de existir
    
public function getError($tipo=0){
        
$error="ERROR - ";
        if(
$tipo != 0){
            
$error.=mysqli_connect_errno($this->cnx)." - ".mysqli_connect_error($this->cnx);
        }
        else{
            
$error.=mysqli_errno($this->cnx)." - ".mysqli_error($this->cnx);
        }
        if(
$this->pagError){
            return 
$error;//devuelve el error para que el usuario lo use donde quiera
        
}
        else{
            die(
$error);//detiene la aplicacion y muestra el error
        
}
    }
    
    
#devuelve true si no hay error y false si existe
    
public function getHayError(){
        return 
$this->resultado;//devuelve true si no hay error y false si existe
    
}

    
#devuelve el resultado de un select dependiendo del metodo pasado por parametro
    #ya sea array, row, object, field, lengths o assoc por default tiene este ultimo.
    
public function getResultado($modo='assoc'){
        
$modo=strtolower($modo);
        switch(
$modo){
            case 
'array':
                            return @
mysqli_fetch_array($this->resultado);
                            break;
            case 
'field':
                            return @
mysqli_fetch_field($this->resultado);
                            break;
            case 
'lengths':
                            return @
mysqli_fetch_lengths($this->resultado);
                            break;
            case 
'object':
                            return @
mysqli_fetch_object($this->resultado);
                            break;
            case 
'assoc':
            default:
                            return @
mysqli_fetch_assoc($this->resultado);
                            break;
        }

    }

    
#devuelve el Nmero de registros que devolvi la consulta
    
public function getNumFilas(){
        return 
$resNum=mysqli_num_rows($this->resultado);
    }

    
//ejecuta una consulta, insert, update o delete
    
public function setEjecutar($sqlQuery){
        
$this->resultado=mysqli_query($this->cnx,$sqlQuery);
    }

    
//Devuelve el id afectado en un insert
    
public function getIdAfectado(){
        return 
$idAfectado=mysqli_insert_id($this->cnx);
    }

    
//libera la memoria
    
public function setLiberarMemoria(){
        
mysqli_free_result($this->resultado);
    }

    
//cierra la conexion
    
public function setCerrarConexion(){
        
mysqli_close($this->cnx);
    }
    
    
#libera y cierra
    
public function setTerminar(){
        if(!empty(
$this->resultado)){
            
self::setLiberarMemoria();
        }
        
self::setCerrarConexion();
    }

y este es el codigo que utilizo para el buscador y paginador:

Código PHP:
<?php trim($busqueda); //Evitar espacios en blanco en la busqueda

if (!$busqueda)
  {
   
//echo "No se ha ingresado ningun valor a buscar";
     
exit;
  }

  
$busqueda addslashes($busqueda); //Marca una cadena con barras

$pg $_GET["pg"];

if (!isset(
$pg))
$pg 0// $pg es la pagina actual
$cantidad=2// cantidad de resultados por página
$inicial $pg $cantidad
  
//comenzamos la consulta 
$resultado "SELECT * FROM servicios WHERE placa like '%".$busqueda."%'";
$con->setEjecutar($resultado);

$resultado "SELECT * FROM servicios WHERE placa like '%".$busqueda."%' ORDER BY fecha DESC LIMIT $inicial, $cantidad"
$con->setEjecutar($resultado);
$pages ceil($resultado $cantidad); 

?>
<table style="border:1px #FF0000; color:#000000; width:990px; text-align:center;">
<tr style="background:#FFD700;">
    <td><b>Placa Vehiculo</b></td>
    <td><b>Propietario</b></td>
    <td><b>Telefono</b></td>
    <td><b>Tiempo de Garantía</b></td>
    <td><b>Fecha de Ingreso</b></td>
    <td><b>Informe</b></td>
</tr> 

<?php  
    
//mostramos los resultados
     
while($row $con->getResultado()){
     echo 
"<tr bgcolor='#FFFACD'>";
     
//echo "         <td><a style=\"text-decoration:underline;cursor:pointer;\" onclick=\"pedirDatos('".$row['nombre']."')\">".$row['nombre']."</a></td>";
     
echo "         <td>".stripslashes($row["placa"])."</td>";
     echo 
"         <td>".stripslashes($row["propietario"])."</td>";
     echo 
"         <td>".stripslashes($row["tel"])."</td>";
     echo 
"         <td>".stripslashes($row["garantia"])."</td>";
     echo 
"         <td>".stripslashes($row["informe"])."</td>";
     echo 
"         <td>".stripslashes($row["fecha"])."</td>";
     echo 
"</tr>";
     
//echo "<br />";
     
  
}
?>

</table><br />

<?php 
// Creando los enlaces de paginación
echo "<p>";
if (
$pg <> 0)
{
$url $pg 1;
echo 
"<a href='buscar_servicio.php?pg=".$url."'>« Anterior</a> ";
}
else {
echo 
" ";
}

for (
$i 0$i<($pages 1); $i++) {
if (
$i == $pg) {
echo 
"<font face=Arial size=2 color=ff0000><b> $i </b></font>";
}
else {
echo 
"<a href='buscar_servicio.php?pg=".$i."'>".$i."</a> ";
}
}

if (
$pg $pages) {
$url $pg 1;
echo 
"<a href='buscar_servicio.php?pg=".$url."'>Siguiente »</a>";
}
else {
echo 
" ";
}
echo 
"</p>";
espero me puedan ayudar, gracias de antemano.