Hola
Aca estoy intentando realizar mi primer paginacion de resultados de una consulta sql.
Me guie por un link delf foro que apunta a un tutorial de paginacion php
Logre que limite los resultados y que presente en pantalla los resultados de la primer pagina bien y con linda presentacion.
Tambien aparece el navedador para las demas paginas de la busqueda .
Pero si bien funcionan los link para pagina 2 y siguientes al mostrarlas no me muestra los registros correspondientes a esa pagina (ni otros)
Voy a pegar el codigo a ver si alguien me ayuda a encuentrar que error tengo pues hace dos dias que reviso y reviso y no me puedo dar cuenta.
-Desde ya muchas gracias por cualquier aporte que me puedan dar
Creo que el error está en la condicion que pongo para que se ejecute el codigo php cuando se pulsa el boton enviar.
if (!$_POST['tpropiedad']){
Este condicional al entrar en pagina 2 no se cumple y por eso no se ejecuta todo el bloque de codigo que haria que mostraraeen la pagina 2 los registros correspondientes.
Como podria cambiar ese condicional por algo que algo que signifique que si el usuario presiono el boton sumit se ejecute el codigo php
<?php
if (!$_POST['tpropiedad']){
}else{
$tpropiedad = $_POST['tpropiedad'];
$toperacion = $_POST['toperacion'];
include 'db.php';
//paginacion
$registros = 4;
// detectar si la variable $pagina (indica el numero de pagina actual) esta definida,
//si no es así le damos el valor 1 ósea que si no se paso por la url la variable $pagina (por ejemplo: "paginacion.php?pagina=2") entramos a la pagina 1 directamente...
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina = 1;
}
else {
$inicio = ($pagina - 1) * $registros;
}
//realizamos 2 consultas similares en cuanto a su criterio de selección
//Con la primer consulta obtenemos el numero de registros totales.
$consultaSQL="SELECT * FROM avisos WHERE tpropiedad='".$tpropiedad."' && toperacion='".$toperacion."'" ;
$result=mysql_query($consultaSQL);
$total_registros = mysql_num_rows($result);
$consultaSQL="SELECT * FROM avisos WHERE tpropiedad='".$tpropiedad."' && toperacion='".$toperacion."'"."ORDER BY valor DESC LIMIT $inicio, $registros" ;
$result=mysql_query($consultaSQL);
//Para comprobar la cantidad de resultados arrojados por la consulta mysql_num_rows
if( mysql_num_rows( $result) < 1) {
$mensaje1=" No hay avisos que coincidan con su busqueda";
echo '<td></td><td><font color="darkgray"><font size="3">'.$mensaje1.'<img src="http://www.forosdelweb.com/f18/images/busq.png" alt="" width="45" height="35"></td>';
}
//ceil devuelve el valor entero más alto con respecto al número que se ha pasado como argumento a la función:
$total_paginas = ceil($total_registros / $registros);
//echo "Total páginas".$total_paginas;
//echo "Total de registros".$total_registros;
if($total_registros) {
while ($row=mysql_fetch_array($result))
{
$valor='U$S '.$row["valor"];
echo '<tr ><td valign="TOP"><font color="black"><font size="3"><img src="http://www.forosdelweb.com/f18/images/productos/'.$row["imagen1"].'" alt="" width="90" height="75"></td>';
echo '<td valign="TOP"><font color="black"><font size="3">'.$row["txt"].'</td>';
echo '<td valign="TOP"><font color="red"><font size="3"><b>'.$valor.'<br>'.$row["fpago"].'</b></td>';
if($row["preminum"]=="Si")
{
echo '<td valign="TOP"><a href="verAviso2.php?id='.$row["idAviso"].'"><img src="http://www.forosdelweb.com/f18/images/verMas.gif"></td>'; }
echo '</tr>';
}
}
}
?>
<table width="38" align="right" cellpadding="3" cellspacing="3">
<tr>
<td width="24" bgcolor="#000000"><?
// El Navegador de páginas
//muestra el link a la pagina anterior
if(!empty($result)){ mysql_free_result($result);}
if($total_registros) {
if(($pagina - 1) > 0) {
echo "<tr><td><font size='3'><a href='pg3.php?pagina=".($pagina-1)."'>< Anterior</a></td>";
}
//El link a la pagina anterior será visible siempre y cuando no estemos en la primer
//pagina ($pagina - 1) > 0). La segunda parte del navegador de paginas seria la que muestra la cantidad de paginas...
for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i) {
echo "<b>".$pagina."</b> ";
} else {
echo "<td><a href='pg3.php?pagina=$i'>$i</a></td>";
} }
//muestra el enlace a la pagina siguiente...
if(($pagina + 1)<=$total_paginas) {
echo "<td><a href='pg3.php?pagina=".($pagina+1)."'>Siguiente</a><br></td></tr>";
}
}
?></td>
</tr>
</table>