Foros del Web » Programando para Internet » PHP »

Resultado de búsqueda con paginacion

Estas en el tema de Resultado de búsqueda con paginacion en el foro de PHP en Foros del Web. Hola amigos una consulta resulta que estoy haciendo un buscador con paginacion, que solo me muestre resultados específicos de acuerdo a la búsqueda y los ...
  #1 (permalink)  
Antiguo 31/03/2014, 10:22
 
Fecha de Ingreso: abril-2012
Ubicación: chile
Mensajes: 33
Antigüedad: 12 años
Puntos: 0
Resultado de búsqueda con paginacion

Hola amigos una consulta
resulta que estoy haciendo un buscador con paginacion, que solo me muestre resultados específicos de acuerdo a la búsqueda y los pagine, cuando hago una búsqueda me muestra el resultado especifico, pero el problema es que me pagina todos los registros totales no de esa búsqueda sino de los que existen en la base de datos.

si quiero buscar el nombre de algún producto por ejemplo celulares quiero que me pagine todos los registros de los celulares que tengo y no otros registro que no tienen nada que ver con la búsqueda

este es mi código ojala puedan ayudarme gracias.

Código HTML:
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body> 
Código PHP:
<?php
  
  
  
  
  
// la palabra para hacer la busqueda 
  
  
 
$palabra=$_POST['busca2'];
  
  
   
  
  include(
'conexion.php');
    
 
 
$query1 mysql_query ("SELECT FROM productos order by nombre",$conexion);
 
$nro_regmysql_num_rows($query1);
    

$reg_por_pagina=6;


if(isset(
$_GET['num'])){
 
 
$nro_pagina=$_GET['num'];
 
      }else{
          
          
$nro_pagina=1;
        }  
 if (
is_numeric($nro_pagina))
 
 
$inicio=($nro_pagina-1)*$reg_por_pagina;
 else
 
$inicio=0;
            
 



 
$query mysql_query ("SELECT FROM productos
  WHERE(productos.nombre_producto LIKE  '%$palabra%' OR productos.marca LIKE  '%$palabra%')limit $inicio,$reg_por_pagina"
,$conexion);
 

 
$can_paginas=ceil($nro_reg/$reg_por_pagina);  

  
$nro_regmysql_num_rows($query);
  
 if (
$nro_reg==0) {
      
      }  
 
    
?>
Código HTML:
<table  class="reportes  tabla1 "  bgcolor="#D0F4F4" width="1350" align="top" border="1" >
<tr>
<th width="30">id</th>
<th width="50">Nombre</th>
<th width="50">Marca</th>
</tr> 





Código PHP:
<?
//Mostramos los registros
while ($row=mysql_fetch_array($query))
{
echo 
'<td>'.$row["id"].'</td>';
echo 
'<td>'.$row["nombre_producto"].'</td>';
echo 
'<td>'.$row["marca"].'</td>';'</tr>';






}
mysql_free_result($query)


?>
</table>









<? 

   
if($nro_pagina>1)
echo 
"<a href='web2.php?num=".($nro_pagina-1)."'> Anterior</a> ";

    for(
$i=1;$i<=$can_paginas;$i++){
    
    if(
$i==$nro_pagina)
    
    echo 
$i." ";
     
    
    else
    echo 
" <a href='web2.php?num=$i'>$i</a> ";
    
    }
    
     if(
$nro_pagina<$can_paginas)
echo 
"<a href='web2.php?num=".($nro_pagina+1)."'> Siguiente</a> ";




    
        
?>

</body>
</html>[/HTML]
  #2 (permalink)  
Antiguo 31/03/2014, 10:47
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Resultado de búsqueda con paginacion

debes pasar la variable $palabra en los a href.. del ultimo codigo php..

---------------------------------
<?

if($nro_pagina>1)
echo "<a href='web2.php?num=".($nro_pagina-1)."&busca2=".$palabra."'> Anterior</a> ";

for($i=1;$i<=$can_paginas;$i++){

if($i==$nro_pagina)

echo $i." ";


else
echo " <a href='web2.php?num=$i&busca2=$palabra'>$i</a> ";

}

if($nro_pagina<$can_paginas)
echo "<a href='web2.php?num=".($nro_pagina+1)."&busca2=".$p alabra."'> Siguiente</a> ";

?>


y luego hacer esto al momento de inicializar $palabra.

-----------------------------------

$palabra=$_POST['busca2'];
if($palabra=="")
{
$palabra=$_GET['busca2'];
}
  #3 (permalink)  
Antiguo 31/03/2014, 11:07
 
Fecha de Ingreso: abril-2012
Ubicación: chile
Mensajes: 33
Antigüedad: 12 años
Puntos: 0
Respuesta: Resultado de búsqueda con paginacion

Hola amigo gracias me resulto la paginacion de búsqueda, pero me da un pequeño problema que me sigue paginando pero cuando le doy siguiente no me muestra nada, le sigo dando siguiente tampoco me muestra nada


lo otro como puedo hacer que la paginacion me los valla mostrando del 1 al 10 y al pinchar en el 10 me muestre del 11 al 20 como lo hace google

Última edición por cardf; 31/03/2014 a las 11:19

Etiquetas: html, mysql, paginacion, registro, resultado, select, sql, tabla
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 17:01.