elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Ayuda] Destruir sesion al cambiar de pagina por href
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda] Destruir sesion al cambiar de pagina por href  (Leído 1,856 veces)
Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
[Ayuda] Destruir sesion al cambiar de pagina por href
« en: 6 Enero 2013, 22:24 pm »

Estoy usando sesiones para paginar asi:
Código
  1.      <?php
  2. //SELECT * FROM tabla ORDER BY date DESC LIMIT 10
  3. $sql="select * from inventario where tipo_propiedad='Apartamento' ";
  4.  
  5. //Limito la busqueda
  6. $TAMANO_PAGINA = 2;
  7.  
  8. //examino la página a mostrar y el inicio del registro a mostrar
  9. $pagina = $_GET["pagina"];
  10. if (!$pagina) {
  11.    $inicio = 0;
  12.    $pagina=1;
  13. }
  14. else {
  15.    $inicio = ($pagina - 1) * $TAMANO_PAGINA;
  16. }
  17.  
  18. $_SESSION['sql']=$sql; //pa poder que el paginador sepa la sentencia sql con que se estaba paginando
  19.  
  20. $link=mysql_connect("localhost","root","");
  21. mysql_select_db("inmobiliaria",$link);
  22.  
  23. //miro a ver el número total de campos que hay en la tabla con esa búsqueda
  24. $ssql = $_SESSION['sql']." ". $criterio;
  25. $rs = mysql_query($ssql,$link);
  26. $num_total_registros = mysql_num_rows($rs);
  27. //calculo el total de páginas
  28. $total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);
  29.  
  30. //pongo el número de registros total, el tamaño de página y la página que se muestra
  31. echo "Número de registros encontrados: " . $num_total_registros . "<br>";
  32. echo "Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>";
  33. echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";
  34.  
  35. //construyo la sentencia SQL
  36. $ssql = $_SESSION['sql']." " . $criterio . " limit " . $inicio . "," . $TAMANO_PAGINA;
  37. $rs = mysql_query($ssql,$link);
  38.  
  39. if(mysql_num_rows($rs)>0){
  40.   echo "<center><table width='829'><tr><td>RESULTADOS ENCONTRADOS</td></tr>";
  41.  
  42. while($col=mysql_fetch_array($rs))
  43. {
  44. if($col["tipo_negocio"]=="venta"){
  45. $titulo1="SE VENDE";
  46. }elseif($col["tipo_negocio"]=="arriendo"){
  47. $titulo1="SE ARRIENDA";
  48. }elseif($col["tipo_negocio"]=="amoblado"){
  49. $titulo1="APTO AMOBLADO";
  50. }else{$titulo1="VENTA Y ARRIENDO";}
  51.  
  52.  
  53. $sql_img="select * from fotos where codigo_fotos='$col[codigo]' LIMIT 1";
  54. $resp_img=mysql_query($sql_img,$link) or die( "Error en query: $sql, el error  es: " . mysql_error() );
  55. $col_img=mysql_fetch_array($resp_img);
  56.  
  57. echo'<tr>
  58.    <th width="230" scope="col" style="border-width: 1px;border: solid; border-color: #009933;">'.strtoupper($col[tipo_propiedad]).' '.$titulo1.'</th>
  59.    <th colspan="2" bgcolor="#009933" scope="col">'.strtoupper($col[titulo]).'</th>
  60.    <th width="201" rowspan="2" scope="col" style="border-width: 1px;border: solid; border-color: #009933;">CODIGO</br>'.$col["codigo"].'</th>
  61.  </tr>
  62.  <tr>
  63.    <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>
  64.    <td width="235" bgcolor="#009933">&nbsp;</td>
  65.    <td width="135" bgcolor="#009933">&nbsp;</td>
  66.  </tr>
  67.  <tr>
  68.    <td><strong>Area: '.$col["area"].'</strong></td>
  69.    <td colspan="2" rowspan="7" style="border-width: 1px;border: solid; border-color: #009933;" valign="top">'.substr($col["descripcion_propiedad"],0,395).'...</td>
  70.  </tr>
  71.  <tr>
  72.    <td><strong>Ciudad: '.$col["ciudad"].'</strong></td>
  73.  </tr>
  74.  <tr>
  75.    <td><strong>Barrio: '.$col["barrio"].'</strong></td>
  76.  </tr>
  77.  <tr>
  78.    <td><strong>Cuartos: '.$col["nro_habitaciones"].'</strong></td>
  79.  </tr>
  80.  <tr>
  81.    <td><strong>Nro Baños Privados: '.$col["nro_banos_privados"].'</strong></td>
  82.  </tr>
  83.  <tr>
  84.    <td><strong>Nro Baños Sociales: '.$col["nro_banos_sociales"].'</strong></td>
  85.  </tr>
  86.  <tr>
  87.    <td>&nbsp;</td>
  88.  </tr>
  89.   <tr>
  90.    <td><strong>Precio:'.$col["precio"].'</strong></td>
  91.    <td colspan="2"><a href="index_vista_inmueble.php?codigo='.$col["codigo"].'">Mas informacion...</a></td>
  92.  </tr>
  93.  <tr>
  94.    <td colspan="4">&nbsp;</td>
  95.  </tr>';
  96. }
  97. }
  98. echo "</table></center><center>Página: ";
  99. //muestro los distintos índices de las páginas, si es que hay varias páginas
  100. if ($total_paginas > 1){
  101.    for ($i=1;$i<=$total_paginas;$i++){
  102.       if ($pagina == $i)
  103.          //si muestro el índice de la página actual, no coloco enlace
  104.          echo $pagina . " ";
  105.       else
  106.          //si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
  107.          echo "<a href='index_amoblados.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> ";
  108.    }
  109. }
  110. echo "</center></br>";
  111. ?>
  112.  

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
  1.    <td colspan="2" align="center"><strong><a href="index_amoblados.php">Apartamentos Amoblados</a></strong></td>
  2.    <td colspan="2" align="center"><strong><a href="index_fincas.php">Fincas de Recreo</a></strong></td>
  3.    <td colspan="2" align="center"><strong><a href="index_ventas.php">Ventas</a></strong></td>
  4.    <td colspan="2" align="center"><strong><a href="index_arrendamientos.php">Arrendamientos</a></strong></td>
  5.  

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.


« Última modificación: 6 Enero 2013, 22:36 pm por Graphixx » En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog
Ekel

Desconectado Desconectado

Mensajes: 9


Ekel ~


Ver Perfil
Re: [Ayuda] Destruir sesion al cambiar de pagina por href
« Respuesta #1 en: 7 Enero 2013, 14:22 pm »

no había pensado en usar sessiones para paginar, (no leí tu código)

pero esto te puede facilitar mucho eso de paginar:

http://onu.mx/OTY3

(requiere de login)

espero te sirva. (:


En línea

Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
Re: [Ayuda] Destruir sesion al cambiar de pagina por href
« Respuesta #2 en: 7 Enero 2013, 20:58 pm »

Gracias por el tip bro, yo para paginar use las magnificas instrucciones de esta pagina:
http://www.webnova.com.ar/articulo.php?recurso=458
En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: [Ayuda] Destruir sesion al cambiar de pagina por href
« Respuesta #3 en: 12 Enero 2013, 07:08 am »

@Graphixx un consejo para cuando vayas a postear un código, porque la verdad cuesta un poco entenderlo. Hay una regla que existe, no me acuerdo donde la lei pero es la siguiente (no me acuerdo exactamente como decia):

Tu código debe ser tan limpio que no necesites utilizar comentario para explicar como funciona.


Saludos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
href no funciona sin https:// (solucionado)
PHP
basickdagger 2 2,125 Último mensaje 9 Mayo 2013, 18:46 pm
por basickdagger
iframe href
Desarrollo Web
Rave1996 2 1,340 Último mensaje 7 Diciembre 2013, 17:07 pm
por Rave1996
variables de sesión no funcionan despues de destruir la sesión « 1 2 »
PHP
gAb1 10 3,710 Último mensaje 10 Junio 2015, 21:05 pm
por gAb1
como destruir las variables de sesion
.NET (C#, VB.NET, ASP)
d91 1 992 Último mensaje 9 Octubre 2015, 13:43 pm
por d91
Jquery mobile ayuda al cambiar de pagina
Desarrollo Web
Marvis 0 1,203 Último mensaje 16 Enero 2017, 12:52 pm
por Marvis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines