Código
<?php //SELECT * FROM tabla ORDER BY date DESC LIMIT 10 $sql="select * from inventario where tipo_propiedad='Apartamento' "; //Limito la busqueda $TAMANO_PAGINA = 2; //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; } $_SESSION['sql']=$sql; //pa poder que el paginador sepa la sentencia sql con que se estaba paginando //miro a ver el número total de campos que hay en la tabla con esa búsqueda $ssql = $_SESSION['sql']." ". $criterio; //calculo el total de páginas //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 = $_SESSION['sql']." " . $criterio . " limit " . $inicio . "," . $TAMANO_PAGINA; echo "<center><table width='829'><tr><td>RESULTADOS ENCONTRADOS</td></tr>"; { if($col["tipo_negocio"]=="venta"){ $titulo1="SE VENDE"; }elseif($col["tipo_negocio"]=="arriendo"){ $titulo1="SE ARRIENDA"; }elseif($col["tipo_negocio"]=="amoblado"){ $titulo1="APTO AMOBLADO"; }else{$titulo1="VENTA Y ARRIENDO";} $sql_img="select * from fotos where codigo_fotos='$col[codigo]' LIMIT 1"; $resp_img=mysql_query($sql_img,$link) or die( "Error en query: $sql, el error es: " . mysql_error() ); echo'<tr> <th width="230" scope="col" style="border-width: 1px;border: solid; border-color: #009933;">'.strtoupper($col[tipo_propiedad]).' '.$titulo1.'</th> <th width="201" rowspan="2" scope="col" style="border-width: 1px;border: solid; border-color: #009933;">CODIGO</br>'.$col["codigo"].'</th> </tr> <tr> <td rowspan="9" style="border-width: 1px;border: solid; border-color: #009933;"><img src="admin/uploads/inmuebles/'.$col_img["fotos"].'" width=250 height=200></td> <td width="235" bgcolor="#009933"> </td> <td width="135" bgcolor="#009933"> </td> </tr> <tr> <td><strong>Area: '.$col["area"].'</strong></td> <td colspan="2" rowspan="7" style="border-width: 1px;border: solid; border-color: #009933;" valign="top">'.substr($col["descripcion_propiedad"],0,395).'...</td> </tr> <tr> <td><strong>Ciudad: '.$col["ciudad"].'</strong></td> </tr> <tr> <td><strong>Barrio: '.$col["barrio"].'</strong></td> </tr> <tr> <td><strong>Cuartos: '.$col["nro_habitaciones"].'</strong></td> </tr> <tr> <td><strong>Nro Baños Privados: '.$col["nro_banos_privados"].'</strong></td> </tr> <tr> <td><strong>Nro Baños Sociales: '.$col["nro_banos_sociales"].'</strong></td> </tr> <tr> <td> </td> </tr> <tr> <td><strong>Precio:'.$col["precio"].'</strong></td> <td colspan="2"><a href="index_vista_inmueble.php?codigo='.$col["codigo"].'">Mas informacion...</a></td> </tr> <tr> <td colspan="4"> </td> </tr>'; } } echo "</table></center><center>Página: "; //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='index_amoblados.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> "; } } echo "</center></br>"; ?>
el problema es que si no limpio la sesion cuando cambio de sesion en la pagina, se queda pegado el paginador en la ultima consulta que tuvo, alguien sabe como puedo limpiar la sesion pero solo cuando se usen los vinculos:
Código
Ya encontre el error estaba en el paginador que en vez de usar $_SESSION['sql'] se debia usar solamente la sentencia $sql.
desaparecen las lineas:
session_start();
$_SESSION['sql']=$sql;
y se reemplaza $_SESSION['sql'] por $sql en las lineas necesarias.