Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/01/2015, 14:33
aprendiendo24
 
Fecha de Ingreso: diciembre-2014
Mensajes: 11
Antigüedad: 9 años, 4 meses
Puntos: 0
Problema checbox con variable de session

Hola a tod@s feliz año.

Vereis estoy mejorando mi web y al hacerlo me ha surgido un problema, tal como esta el código que pongo hasta ahora me ha funcionado bien pero al intentar la mejora es cuando me encuentro que no se exactamente como hacerlo:

Tengo una pagina que contiene otras 2 una la utilizo como menú de filtrado y la otra es la que me muestra el contenido

Contenedor.php //Contiene las 2 página siguientes
MenuFiltrado.php //contiene los checbox para filtrar
ResultadoConsulta.php // Contiene la consulta y muestra el resultado de la misma

Según el código siguiente lo que hace es que al cambiar el estado del checkbox se actualizan los resultados y funciona bien, lo que ocurre es que he añadido un páginador y al cambiar de páginas en el mismo me recarga la página y me borra el estado chequeado de los checbox, por ejemplo si quiero ver los coches italianos marco el checbox y me muestra los coches italianos pero al refrescar la página o al cambiar con el páginador me los vueve a mostrar todos así que he pensado en utilizar variables de sesión para mantener los valores del checkbox y que la consulta me la haga utilizando dichas variables una por cada checbox.
Esto es como esta el código antes de comenzar la mejora:

CONTENEDOR.PHP

Código PHP:
Ver original
  1. bla, bla, bla...
  2. <div id="DivFiltrado" style="display:none"><?php require ("MenuFiltrado.php"); ?>
  3. <div id='contenido'><?php require ("ResultadoConsulta.php"); ?></div>
  4. bla, bla, bla,...

MENUFILTRADO.PHP

Código PHP:
Ver original
  1. bla, bla, bla,..
  2. if (isset($_GET["italiano"])){
  3.     echo "<input type='checkbox' name='italiano' id='italiano' value='1' checked onClick=\"cargarContenido('ResultadoConsulta.php')\"/>";
  4. }else{
  5.     echo "<input type='checkbox' name='italiano' id='italiano' value='1' onClick=\"cargarContenido('ResultadoConsulta.php')\"/>";}
  6. ?>
  7. <label class="Guias3">&nbsp;Italiano</label>
  8. bla, bla, bla, ....

RESULTADOCONSULTA.PHP
Código PHP:
Ver original
  1. bla, bla, bla, ...
  2. $italiano = isset($_GET['italiano']);
  3. $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM coches WHERE coches.Activacion = '1'";
  4.  if (isset($_GET['italiano'])and $_GET['italiano'] ='1') {
  5. $sql .= "AND coches.Italiano = '$italiano' ";
  6.  }else {$sql .= "AND (coches.Italiano = '1' or coches.Italiano = '0')";
  7. }
  8.        if ($_SESSION["Ordenar"] <>'-1') {
  9.     $sql .= " ORDER BY {$selordenar} ";
  10.          }else {$sql .=  ' ORDER BY rand('.$dias_dif.')';
  11. }
  12. $sql .= 'LIMIT '. ($pagina) * $cantidadRegistrosPorPagina . ',' .$cantidadRegistrosPorPagina;
  13. $tabla = mysqli_query($conexion, $sql);
  14. while ($registro = mysqli_fetch_array($tabla)) {
  15. // bla, bla, bla,...
  16. }
He hecho muchas pruebas sustituyendo el envio por $_GET por variable de Session y en algunos casos he conseguido que medio funcionara pero al refrescar la página o al utilizar el paginador la variable de sesión se me reseteaba y me volvia al valor inicial, no pongo aquí ninguna de las pruebas que he realizado porque son muchas y confundiría con este código que he puesto que es como esta la página actualmente pero si alguien quiere que le diga mas o menos cuales han sido mis intentos no tengo problema.
Os agradeceré la ayuda que me podáis prestar, gracias