Hola a todos, hace tiempo hice un formulario busqueda por palabra clave para realizar consultas a una base de datos y paginar los resultados de acuerdo a la palabra que se ponga en el buscador.
    En un principio me funcionó bien, pero ahora no está funcionando y me tira el siguiente error:
 
 
 
 
a. ERROR:
 
Número de registros encontrados: 451
Se muestran páginas de 7 registros cada una
Mostrando la página 1 de 65
 
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/httpd/misitioweb.com.ar/public_html/paginacion.php on line 216
 
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/httpd/misitioweb.com.ar/public_html/paginacion.php on line 242
 
 
-------------------------------------------------------------
 
b. ESTE ES EL FORMULARIO DE BUSQUEDA (catalogo.html)
 
 
<form method = "get" action="paginacion.php"> 
   <strong>Si no conoce el código del producto realice una<br>Busqueda libre:</strong><br> 
    <input type="text" name="criterio" size="20" /> 
    <input type="submit" value="Buscar" />  
  </form> 
 
 
 
------------------------------------------------------------
 
 
 
c. ESTE ES EL CÓDIGO DEL ARCHIVO QUE PROCESA Y MUESTRA  LOS DATOS (paginacion.php)
 
 
 
 
 
<div class="floatleft2">
<p class="margin3">
 
<table width="80%" border="0" bordercolor="none" bgcolor="black" align="center">
<td width="100%"><font color="#ffffff" size="1" face="Arial">Resultados por Nº de Código</font></td>
</tr>
</table>
 
<table width="80%" border="1" bordercolor="gray" bgcolor="gray" align="center">
 
 
<tr>
<td width="10%" bgcolor="gray">Código</td>
<td width="40%" bgcolor="gray">Descripción</td>
<td width="10%" bgcolor="gray">Original</td>
 
<td width="10%" bgcolor="gray">Foto</td>
</tr>
 
 
 
 
// CONECTO A LA BASE DE DATOS Y DETERMINO AL CAMPO "DESCRIPCION" COMO EL CAMPO EN EL QUE SE VAN A BUSCAR LAS COINCIDENCIAS CON LA PALABRA ESCRITA EN EL BUSCADOR
 
 
<?
//conecto con la base de datos
$conn = mysql_connect("localhost","nombre_tabla","password  ");
mysql_select_db("nombre_basededatos",$conn);
 
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";
if ($_GET["criterio"]!=""){
	$txt_criterio = $_GET["criterio"];
	$criterio = " where DESCRIPCION like '%" . $txt_criterio . "%'";
}
 
//Limito la busqueda
$TAMANO_PAGINA = 7;
 
//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
		$inicio = 0;
		$pagina=1;
}
else {
	$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
 
//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$ssql = "select * from articulos " . $criterio;
$rs = mysql_query($ssql,$conn);
$num_total_registros = mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);
 
//pongo el número de registros total, el tamaño de página y la página que se muestra
 
 
 
echo "Número de registros encontrados: " . $num_total_registros . "<br>";
echo "Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>";
echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";
 
 
 
 
//construyo la sentencia SQL
$ssql = "select CODIGO_EMPRESA, DESCRIPCION, CODIGO_ORIGINAL, FOTO from articulos " . $criterio . " limit " . $inicio . "," . $TAMANO_PAGINA;
 
 
// MUESTRO LOS RESULTADOS EN COLUMNAS DE LOS SIGUIENTES CAMPOS:
 
 
 
$rs = mysql_query($ssql);
 
while ($fila = mysql_fetch_object($rs)){
	echo "<table width=\"80%\" bgcolor=\"gray\"><tr>
<td width=\"10%\" border=\"1\" bgcolor=\"white\"><font color=\"black\" size=\"1\" face=\"Arial\">$fila->CODIGO_EMPRESA</font></td>
 
<td width=\"40%\" border=\"1\" bgcolor=\"white\"><font color=\"black\" size=\"1\" face=\"Arial\">$fila->DESCRIPCION</font></td>
 
<td width=\"10%\" border=\"1\" bgcolor=\"white\"><font color=\"black\" size=\"1\" face=\"Arial\">$fila->CODIGO_ORIGINAL</td>
 
 
 
 
<td width=\"10%\" border=\"1\" bgcolor=\"white\"><font color=\"black\" size=\"1\" face=\"Arial\">$fila->FOTO</font></td></p>
</tr>
</table>
";
 
}
 
?>
 
 
 
 
//CIERRO LA CONEXIÒN
 
<?
mysql_free_result($rs);
mysql_close($conn);
?>
 
 
 
 
<p class="margin3">
 
<table width="80%"><tr>
<td color="blue"><font color="blue">
 
 
 
// AQUÌ ARMO LA PAGINACIÒN DE LOS RESULTADOS
 
 
<?
 
if ($total_paginas > 1){
	for ($i=1;$i<=$total_paginas;$i++){
		if ($pagina == $i) 
			//si muestro el índice de la página actual, no coloco enlace
			echo $pagina . " ";
		else
			//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
			echo " <a href='paginacion.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> ";
	}
}
 
 
 
?>
</font></td></tr></table>
 
</div>
 
 
 
 
-----------------------------------------------
 
 
Cabe destacar que los datos que conectan a la base están bien.
 
 
GRAZIEEEEEE 
   
 

 Error Al Consultar Registros Y Paginarlos
 Error Al Consultar Registros Y Paginarlos 


 Este tema le ha gustado a 1 personas (incluyéndote)
Este tema le ha gustado a 1 personas (incluyéndote)