Tema: Paginador
Ver Mensaje Individual
  #18 (permalink)  
Antiguo 12/02/2012, 15:49
ra120354
 
Fecha de Ingreso: febrero-2012
Ubicación: N/A
Mensajes: 54
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Paginador

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&uacute;squeda: 
<input type="text" name="criterio" size="22" maxlength="150"> 
<input type="submit" value="Buscar"> 
</form> 

</html>