Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/02/2012, 15:55
ra120354
 
Fecha de Ingreso: febrero-2012
Ubicación: N/A
Mensajes: 54
Antigüedad: 12 años, 9 meses
Puntos: 0
Atascado de verdad

Atascado de verdad

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

Hola a todos, soy nuevo en este foro y necesito ayuda.
He hecho una pagina simple que lee 2 tablas una lleva los nombres de las poblaciones y la otra los nombres comerciales de unas empresas esta información la presento en una tabla, hasta aqui bien, he añadido posteriormente un buscador y un select para filtrar por poblaciones y funciona bien y ahora viene el problema he añadido un paginador el "Zebra_pagination.php" con la tabla completa sin filtrar el paginador funciona ya que cuento los registros totales con Select Count(*), pero con el buscador y el select una vez filtrado no consigo averiguar el total de registros que ha encontrado para que el paginador me los pagine valga la rebundancia, y por lo tanto no me funciona.
Creo que estoy obligado a utilizar estas dos instrucciones:
SQL_CALC_FOUND_ROWS
SELECT FOUND_ROWS
pues bien lo hago y no funciona.

Os aseguro que lo he intentado todo durante mas de 30 horas casi sin interrupcion, ya no se ni lo que he probado o he dejado de probar y a pesar de todo no lo consigo hacer funcionar, tengo que aclarar que soy muy novato en esto y algo mayor pero me encantaria poderlo hacer funcionar.

Os pongo el código que tengo hecho a continuación y os pediria que me ayudarais, si necesitais algo o alguna aclaración os la dare con mucho gusto.

Gracias a tod@s.


Código PHP:
<?php 
$conexion 
mysql_connect('localhost''root'''); 
mysql_select_db('general'); 
?> 

 <?php 
  


  
  
 $records_per_page 
3;  
     
         
// Incluye la clase de paginación 
        
require '../Zebra_Pagination.php'

        
// Instancia del objeto paginación 
        
$pagination = new Zebra_Pagination(); 
         
         
  
  
// Recuperar el número total de registros en la tabla 
       
       
$rows mysql_fetch_assoc(mysql_query('SELECT FOUND_ROWS() AS rows'));     
       
         

        
// Pasar el número total de registros a la clase de paginación 
        
$pagination->records($rows['rows']); 

        
// Registros por página 
        
$pagination->records_per_page($records_per_page); 
  

  
 
?> 


<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<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"> 






</head> 
<body> 

 <table width="765" height= 30 border="1"> 
  <tr> 
    <td><?php $pagination->render();?></td> 
  </tr> 
</table> 
    
         
         

<table width="765" height="30" border="0"> 
<td> 
<form name="form1" method="post" action="PaginadorLocal.php"> 
<font color="#800000">Buscar:&nbsp;&nbsp;&nbsp;</font><input name="txtBusqueda" type="text" size="30" style="border-width: 2px;  font-size:13pt; font-weight:bold;color: #800000;"> 
       
<font color="#800000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Población: &nbsp;&nbsp;&nbsp;</font>  
    <select name="selCiudad" id="selCiudad" style class="Guias2"> 
        <option value="-1" selected>Todas las poblaciones</option> 
         
<?php 
    $tablapoblaciones 
mysql_query("SELECT * FROM poblaciones ORDER BY poblacion ASC"); // Seleccionamos las ciudades de la tabla ciudades 
    
while ($registropoblacion mysql_fetch_array($tablapoblaciones)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla 
?> 

<option value="<?php echo $registropoblacion['Id']; ?>"><?php echo $registropoblacion['Poblacion']; ?></option> 

<?php 
    
// termina la zona de repeticion 
    
mysql_free_result($tablapoblaciones); // se libera la memoria usada por la tabla 
?> 
    </select> 
    
    </label> 
    <input type="submit" name="cmdBuscar" id="cmdBuscar" value="BUSCAR"> 
      
</form> 

</td> 
</table> 

  <table width="765" height="80" border="0"> 
  <?php 
$sql 
"SELECT SQL_CALC_FOUND_ROWS * FROM actividades, poblaciones WHERE actividades.Actividades = 'Hosteleria' and actividades.idpoblacion = poblaciones.id "
if (isset(
$_POST['txtBusqueda'])) { 
    
$sql .= " AND actividades.NombreComer LIKE '%" $_POST['txtBusqueda'] . "%' "
    if (
intval($_POST['selCiudad']) > 0) { 
        
$sql .= " AND actividades.idpoblacion = '" intval($_POST['selCiudad']) . "'"
    } 

$sql .= " ORDER BY NombreComer LIMIT 
. (($pagination->get_page() - 1) * $records_per_page) . ', ' $records_per_page 
        '

     
$tabla mysql_query($sql); 





while (
$registro mysql_fetch_assoc($tabla)) { 
?> 
        <tr> 
          <td><a href="<?php echo $registro['Url']; ?>"><?php echo $registro['NombreComer']; ?>"></a></td> 
        </tr> 
        <tr> 
          <td width="765" height="0"></td> 
        </tr> 
        <?php 

mysql_free_result($tabla); 
mysql_close($conexion); 
?> 
         
    </table> 
     


</body> 
</html>
Gracias a tod@s.