He hecho un echo $criterio; y en algunas busquedas me devuelve el parametro que he escrito, creo que eso es lo correcto pero en otras me da tres errores que son los siguientes:
1º) Error:
Código PHP:
//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$ssql = "select * from Actividades " . $criterio;
$rs = mysql_query($ssql,$conexion);
// ************************************
$num_total_registros = mysql_num_rows($rs);
// ************************************
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);
La linea del error es la que esta entre asteriscos:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\Actividades\Hosteleria\PruebaLocal.php on line 44
2º) Error:
Código PHP:
//construyo la sentencia SQL
$ssql = "select * from actividades " . $criterio . " limit " . $inicio . "," . $TAMANO_PAGINA;
$rs = mysql_query($ssql);
//********************************
while ($fila = mysql_fetch_object($rs)){
//********************************
echo $fila->NombreComer . "<br>";
}
La linea del error es la que esta entre asteriscos:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Actividades\Hosteleria\PruebaLocal.php on line 56
3º) Error:
Código PHP:
//cerramos el conjunto de resultado y la conexión con la base de datos
//************************
mysql_free_result($rs);
//************************
mysql_close($conexion);
La linea del error es la que esta entre asteriscos:
Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in C:\wamp\www\Actividades\Hosteleria\PruebaLocal.php on line 61
Aparte de eso tanto cuando me devuelve lo que he puesto como cuando me da error no me selecciona nada siguen apareciendo todos los registros, como si no hubiera escrito nada en el criterio de busqueda.
Chicos si con esta ultima ayuda vuestra no consigo que funcione lo dejare porque me habra vencido de momento y empezare otro de nuevo desde cero y luego le ire añadiendo cosas poco a poco a si a lo mejor adelantamos todos y no os doy tanto la paliza.
Como ultimo incluyo todo el código completo tal cual lo tengo ahora a ver si al verlo en conjunto veis algo que a mi se me pasa.
Gracias de verdad y un saludo.
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset= ISO-8859-1" />
<title>Reporte de Propiedades</title>
<!--Enlaces a los css necesarios-->
<link rel="stylesheet" href="../reset.css" type="text/css">
<link rel="stylesheet" href="../style.css" type="text/css">
<link rel="stylesheet" href="../Zebra_Pagination.css" type="text/css">
<?php
$conexion = mysql_connect('localhost', 'root', '');
mysql_select_db('general');
?>
<?php
$criterio = isset($_GET["criterio"])? $_GET["criterio"]: '';
$txt_criterio=isset($_GET["txt_criterio"])? $_GET["txt_criterio"]: '';
//Limito la busqueda
$TAMANO_PAGINA = 10;
//examino la página a mostrar y el inicio del registro a mostrar
$pagina = isset($_GET["pagina"])? $_GET["pagina"]: ''; // La he cambiado y ya no me da error
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 Actividades " . $criterio;
$rs = mysql_query($ssql,$conexion);
$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 * from actividades " . $criterio . " limit " . $inicio . "," . $TAMANO_PAGINA;
$rs = mysql_query($ssql);
while ($fila = mysql_fetch_object($rs)){
echo $fila->NombreComer . "<br>";
}
//cerramos el conjunto de resultado y la conexión con la base de datos
mysql_free_result($rs);
mysql_close($conexion);
//muestro los distintos índices de las páginas, si es que hay varias páginas
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='PruebaLocal.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> ";
}
}
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";
if (isset($_GET['criterio'])) {
$txt_criterio = $_GET["criterio"];
$criterio = " where NombreComer like '%" . $txt_criterio . "%'";
}
?>
<form action="PruebaLocal.php" method="get">
Criterio de búsqueda:
<input type="text" name="criterio" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form>
</html>