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 originalbla, bla, bla...
<div id="DivFiltrado" style="display:none"><?php require ("MenuFiltrado.php"); ?>
<div id='contenido'><?php require ("ResultadoConsulta.php"); ?></div>
bla, bla, bla,...
MENUFILTRADO.PHP
Código PHP:
Ver originalbla, bla, bla,..
if (isset($_GET["italiano"])){ echo "<input type='checkbox' name='italiano' id='italiano' value='1' checked onClick=\"cargarContenido('ResultadoConsulta.php')\"/>";
}else{
echo "<input type='checkbox' name='italiano' id='italiano' value='1' onClick=\"cargarContenido('ResultadoConsulta.php')\"/>";}
?>
<label class="Guias3"> Italiano</label>
bla, bla, bla, ....
RESULTADOCONSULTA.PHP
Código PHP:
Ver originalbla, bla, bla, ...
$italiano = isset($_GET['italiano']); $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM coches WHERE coches.Activacion = '1'";
if (isset($_GET['italiano'])and
$_GET['italiano'] ='1') { $sql .= "AND coches.Italiano = '$italiano' ";
}else {$sql .= "AND (coches.Italiano = '1' or coches.Italiano = '0')";
}
if ($_SESSION["Ordenar"] <>'-1') {
$sql .= " ORDER BY {$selordenar} ";
}else {$sql .= ' ORDER BY rand('.$dias_dif.')';
}
$sql .= 'LIMIT '. ($pagina) * $cantidadRegistrosPorPagina . ',' .$cantidadRegistrosPorPagina;
// bla, bla, bla,...
}
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