Foros del Web » Programando para Internet » PHP »

buscar y paginar

Estas en el tema de buscar y paginar en el foro de PHP en Foros del Web. Hola comunidad, estoy tratando que en mis búsquedas también se pueda paginar los resultados para que no quede todo en una sola página. Todo funcionaba ...
  #1 (permalink)  
Antiguo 12/06/2012, 06:53
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Pregunta buscar y paginar

Hola comunidad, estoy tratando que en mis búsquedas también se pueda paginar los resultados para que no quede todo en una sola página.

Todo funcionaba bien hasta que le agregué la paginación. Ahora encuentra y muesrta bien, pero al momento de darle siguiente se arma el lío.

Alquien me podrá guiar?:

Código PHP:
$registros 8;

$pagina=1;

if (!
$pagina) { 
    
$inicio 0
    
$pagina 1

else { 
    
$inicio = ($pagina 1) * $registros

        
    
$resultados mysql_query("SELECT * FROM productos WHERE nombre_producto LIKE '%".$_GET["search"]."%' OR marca_producto LIKE '%".$_GET["search"]."%'"); 
    
$total_registros mysql_num_rows($resultados);  
    
    
$resultados mysql_query("SELECT * FROM productos WHERE nombre_producto LIKE '%".$_GET["search"]."%' OR marca_producto LIKE '%".$_GET["search"]."%' LIMIT $inicio, $registros");    
    
$total_paginas ceil($total_registros $registros);                       

    if(
$total_registros) {
    
    echo 
"Hay listados "$total_registros." productos";
    
        while(
$producto=mysql_fetch_array($resultados)) { 
    
    
                        echo 
$producto['imagen_producto'];
                        echo 
$producto['nombre_producto'];
                        echo 
$producto['marca_producto']; 
                        
    
    }
        
    } else {
        echo 
"(0 productos encontrados)";
    }
    
    
mysql_free_result($resultados);                
    
    if(
$total_registros) {
        
        echo 
"<center>";
        
        if((
$pagina 1) > 0) {
            echo 
"<a href='buscardor.php?search=".$_GET["search"]."&pagina=".($pagina-1)."'>anterior</a> ";
        }
        
        for (
$i=1$i<=$total_paginas$i++){ 
            if (
$pagina == $i
                echo 
"<b>".$pagina."</b> "
            else
                echo 
"<a href='buscardor.php?search=".$_GET["search"]."&pagina=$i'>$i</a> "
        }
      
        if((
$pagina 1)<=$total_paginas) {
            echo 
" <a href='buscardor.php?search=".$_GET["search"]."&pagina=".($pagina+1)."'>siguiente</a>";
        }
        
        echo 
"</center>";
    } 
Le saqué los divs para trabajar con css para que sea más fácil la lectura.

Muchas gracias por su tiempo...!
  #2 (permalink)  
Antiguo 12/06/2012, 07:47
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: buscar y paginar

Al menos deberías ser mas especifico a que te refieres con "se desarma" ya que andamos cortos de adivinos....

En fin, no veo por ningún lado que retomes el valor $_GET['pagina'], quiero suponer que no estas usando la propiedad registre globals y accediendo directamente a la variable GET como una variable local....
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 12/06/2012, 08:38
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: buscar y paginar

Gracias Nemutagk, agregué $pagina=$_GET["pagina"]; y funcionó, pero ahora el erro que me sale: (Notice: Undefined index:) es porque cuando hago la búsqueda la 1ra. vez $_GET["pagina"] está vacío.

Mi pregunta es cómo hago para inicializarlo en 1 sin que me quede fijo cuando itero?.

Muchas gracias!
  #4 (permalink)  
Antiguo 12/06/2012, 08:41
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: buscar y paginar

Código PHP:
Ver original
  1. $pagina = isset($_GET['pagina']) ? $_GET['pagina'] : 1;

Al menos has el intento buscando solución al error...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 12/06/2012, 08:57
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: buscar y paginar

Tienes razón, y muchas gracias, ahora funciona. Saludos!

Etiquetas: mysql, paginar, registro, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:09.