Foros del Web » Programando para Internet » PHP »

Buscador con Paginator

Estas en el tema de Buscador con Paginator en el foro de PHP en Foros del Web. Hola: Tengo armado este modesto buscador y quiero incluirle el Paginator que ya tengo funcionando en una consulta que incluye todos los registros de una ...
  #1 (permalink)  
Antiguo 11/09/2008, 20:40
Avatar de ealaequis  
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 7 meses
Puntos: 0
Busqueda Buscador con Paginator

Hola:
Tengo armado este modesto buscador y quiero incluirle el Paginator que ya tengo funcionando en una consulta que incluye todos los registros de una tabla. Estuve haciendo pruebas viendo en las demas consultas en donde se habla del Paginator en busquedas, pero no he podido solucionar el problema.
El codigo es el siguiente:
Código PHP:
<?php
$conexion 
mysql_connect('localhost''root''???') or die (mysql_error());
mysql_select_db('ediciones',$conexion) or die (mysql_error());
if (isset(
$_POST['txtBusqueda'])) {
    
$_pagi_sql mysql_query("SELECT * FROM libros WHERE esp_nombre LIKE '%" $_POST['txtBusqueda'] . "%' or autor LIKE '%" $_POST['txtBusqueda'] . "%' or esp_rese LIKE '%" $_POST['txtBusqueda'] . "%' ORDER BY esp_nombre ASC");
} else {
    
$_pagi_sql mysql_query("SELECT * FROM libros ORDER BY esp_nombre ASC");
}
$resu mysql_num_rows($_pagi_sql);
$result mysql_query($_pagi_sql) or die (mysql_error());
$_pagi_cuantos 10;

include(
"paginator.inc.php");
?>
<table width="940" border="0" align="center" cellpadding="00" cellspacing="0">
    <tr>
      <td bgcolor="#99FF99"><div align="center" class="Estilo12">
          <?php
echo"<p>".$_pagi_navegacion."</p>";
?>
      </div>
  </table>
    <?php
while ($registro mysql_fetch_array($_pagi_result)) {
?>
</p>
<table width="940"  border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="100" rowspan="3" bgcolor="#66FFCC"><div align="center"><img src="../miniaturas-en-edicion/<?php echo $registro['tapa']; ?>" width="65" height="100" border="0"></a></div></td>
    <td height="26" colspan="2" valign="top" bgcolor="#66FFCC"><span class="Subtitulo"><strong><?php echo $registro['esp_nombre']; ?> - <?php echo $registro['cod']; ?><br>
    <span class="autor"><?php echo $registro['autor']; ?></span></td>
  </tr>
  <tr>
    <td height="51" colspan="2" valign="middle" bgcolor="#66FFCC"><p><?php echo $registro['esp_rese']; ?>... <a href='librosamp.php?cod=<?php echo $registro['id']; ?>' >» AMPLIAR</a></a></p></td>
  </tr>
  <tr>
    <td width="82%" height="20" valign="middle" bgcolor="#66FFCC">PRECIO <span class="Estilo3">u$s</span><?php echo $registro['precio']; ?> <span class="Estilo3">peso</span> <?php echo $registro['peso']; ?></td>
    <td width="8%" height="20" valign="middle" bgcolor="#66FFCC"><div align="right"><a href="formulario.htm">ENCARGAR</a></div></td>
  </tr>
  
  <tr>
    <td height="16" colspan="3" bgcolor="#66FFCC"><div align="center"><img src="../linea-divisora.jpg" width="763" height="2"></div></td>
  </tr>
  
  <?php
}
mysql_close($conexion);
?>
</table>
<table width="940" border="0" align="center" cellpadding="00" cellspacing="0">
  <tr>
    <td bgcolor="#99FF99"><div align="center" class="Estilo12">
      <?php
echo"<p>".$_pagi_navegacion."</p>";
?>
    </div></td>
  </tr>
</table>
 <table width="940" border="0" align="center" cellpadding="0" cellspacing="0">
   <tr>
     <td bgcolor="#99CC66"><div align="center">Resultados de la b&uacute;squeda:
       <?php
echo $resu;
?>
     </div></td>
   </tr>
 </table>
La variable txtBusqueda es el texto que se escribe en el formulario de busqueda.
Espero que alguien pueda ayudarme con este problemita. Gracias.

Última edición por ealaequis; 12/09/2008 a las 06:34
  #2 (permalink)  
Antiguo 12/09/2008, 08:35
Avatar de Sandino  
Fecha de Ingreso: octubre-2006
Mensajes: 277
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Buscador con Paginator

Código PHP:
</table>
<table width="940" border="0" align="center" cellpadding="00" cellspacing="0">
  <tr>
    <td bgcolor="#99FF99"><div align="center" class="Estilo12">
      <?php
echo"<p>".$_pagi_navegacion."</p>";
?> 
<?php
}
mysql_close($conexion);
?>
Prueba asi saludos.
  #3 (permalink)  
Antiguo 12/09/2008, 08:56
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Buscador con Paginator

Que tal ealaequis, en concreto cual es el error que te arroja? sin embargo prueba así tu código:
Código PHP:
<?php 
$conexion 
mysql_connect('localhost''root''???') or die (mysql_error()); 
mysql_select_db('ediciones',$conexion) or die (mysql_error()); 
if (isset(
$_POST['txtBusqueda'])) { 
$busqueda $_POST['txtBusqueda'];
    
$_pagi_sql "SELECT * FROM libros WHERE esp_nombre LIKE '% $busqueda%' or autor LIKE '%$busqueda%' or esp_rese LIKE '%$busqueda%' ORDER BY esp_nombre ASC"
} else { 
    
$_pagi_sql "SELECT * FROM libros ORDER BY esp_nombre ASC"

// No es necesario incluir el cursor ya que el paginador ejecuta automaticamente la consulta
//$result = mysql_query($_pagi_sql) or die (mysql_error()); 
$_pagi_cuantos 10

include(
"paginator.inc.php"); 
$resu mysql_num_rows($_pagi_result); 
?> 
<table width="940" border="0" align="center" cellpadding="00" cellspacing="0"> 
    <tr> 
      <td bgcolor="#99FF99"><div align="center" class="Estilo12"> 
      </div> 
  </table> 
    <?php 
while ($registro mysql_fetch_array($_pagi_result)) { 
?> 
</p> 
<table width="940"  border="0" align="center" cellpadding="0" cellspacing="0"> 
  <tr> 
    <td height="100" rowspan="3" bgcolor="#66FFCC"><div align="center"><img src="../miniaturas-en-edicion/<?php echo $registro['tapa']; ?>" width="65" height="100" border="0"></a></div></td> 
    <td height="26" colspan="2" valign="top" bgcolor="#66FFCC"><span class="Subtitulo"><strong><?php echo $registro['esp_nombre']; ?> - <?php echo $registro['cod']; ?><br> 
    <span class="autor"><?php echo $registro['autor']; ?></span></td> 
  </tr> 
  <tr> 
    <td height="51" colspan="2" valign="middle" bgcolor="#66FFCC"><p><?php echo $registro['esp_rese']; ?>... <a href='librosamp.php?cod=<?php echo $registro['id']; ?>' >» AMPLIAR</a></a></p></td> 
  </tr> 
  <tr> 
    <td width="82%" height="20" valign="middle" bgcolor="#66FFCC">PRECIO <span class="Estilo3">u$s</span><?php echo $registro['precio']; ?> <span class="Estilo3">peso</span> <?php echo $registro['peso']; ?></td> 
    <td width="8%" height="20" valign="middle" bgcolor="#66FFCC"><div align="right"><a href="formulario.htm">ENCARGAR</a></div></td> 
  </tr> 
   
  <tr> 
    <td height="16" colspan="3" bgcolor="#66FFCC"><div align="center"><img src="../linea-divisora.jpg" width="763" height="2"></div></td> 
  </tr> 
   
  <?php 

?> 
</table> 
<table width="940" border="0" align="center" cellpadding="00" cellspacing="0"> 
  <tr> 
    <td bgcolor="#99FF99"><div align="center" class="Estilo12"> 
      <?php 
echo"<p>".$_pagi_navegacion."</p>"
?> 
    </div></td> 
  </tr> 
</table> 
 <table width="940" border="0" align="center" cellpadding="0" cellspacing="0"> 
   <tr> 
     <td bgcolor="#99CC66"><div align="center">Resultados de la b&uacute;squeda: 
       <?php 
echo $resu
mysql_close($conexion); 
?> 
     </div></td> 
   </tr> 
 </table>
Saludos.
  #4 (permalink)  
Antiguo 12/09/2008, 10:18
Avatar de ealaequis  
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Buscador con Paginator

Gracias pero no me funcionan las modificaciones que me acercaron.
El error es:
Error en la consulta de conteo de registros: Resource id #3. Mysql dijo: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #3' at line 1
Leyendo sobre problemas similares en este mismo foro mencionan algo de una variable $_pagi_propagar que creo seria la solucion para este problema, la cuestion es que no se como implementarla.
  #5 (permalink)  
Antiguo 12/09/2008, 21:14
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Respuesta: Buscador con Paginator

Hola ealaequis:

Esta vez no pude revisar muy bien tu código por falta de tiempo. Pero los problemas de la consulta de conteo de registros, generalmente se solucionan definiendo la variable $_pagi_conteo_alternativo como "true".
Código PHP:
// Esta línea debe ir justo antes del include(... paginator..)
$_pagi_conteo_alternativo true
Saludos,
  #6 (permalink)  
Antiguo 12/09/2008, 21:15
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Respuesta: Buscador con Paginator

Hola ealaequis:

Esta vez no pude revisar muy bien tu código por falta de tiempo. Pero los problemas de la consulta de conteo de registros, generalmente se solucionan definiendo la variable $_pagi_conteo_alternativo como "true".
Código PHP:
// Esta línea debe ir justo antes del include(... paginator..)
$_pagi_conteo_alternativo true
Saludos,
  #7 (permalink)  
Antiguo 13/09/2008, 07:03
Avatar de ealaequis  
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Buscador con Paginator

Gracias jpinedo por la respuesta pero no me solucionó el problema. Ahora tira este error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #3' at line 1
  #8 (permalink)  
Antiguo 13/09/2008, 22:07
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Respuesta: Buscador con Paginator

Hola:

Tu problema no tiene que ver directamente con Paginator, sino con una línea que has agregado, utilizando la variable $_pagi_result dentro de la función mysql_num_rows().

mysql_num_rows() espera como parámetro una sentencia SQL (cadena de texto) y $_pagi_result es un identificador de resultado.

Quita esa línea y ya no tendrás problemas.

Si quieres mostrar información sobre el número de registros, puedes agregar al final
Código PHP:
echo"<p>Mostrando Registros ".$_pagi_info."</p>"
Saludos,
  #9 (permalink)  
Antiguo 14/09/2008, 07:46
Avatar de ealaequis  
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Buscador con Paginator

Hola:
Hice el cambio y no funciona tampoco. Sacar esa variable que me comentas ya lo habia probado antes y el error sigue siendo el mismo.
Ahora directamente la quite y agregue en la ultima linea lo que recomendaste para ver la cantidad de registros, sigue dando el mismo error.
  #10 (permalink)  
Antiguo 14/09/2008, 08:47
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
Respuesta: Buscador con Paginator

No he tenido tiempo de ver muy bien tu código pero veo que está linea está mal:

Código PHP:
$result mysql_query($_pagi_sql) or die (mysql_error()); 
Porque estás haciendo un query, pero la variable $_pagi_sql ya tiene un mysql_query.

Lo correcto sería quitar el mysql_query de la variable $_pagi_sql. Tambien podrías usar eval para la variable $result.

Avisanos si con eso se compone el cósdigo
__________________
SEO en Medellin
  #11 (permalink)  
Antiguo 14/09/2008, 09:55
Avatar de ealaequis  
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Buscador con Paginator

Hola: sigue con el mismo error. Gracias igual.
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 21:00.