Tengo una página que utiliza un formulario para filtrar registros de una base de datos y en la misma página muestro el resultado de dicha consulta, la página funciona perfectamente.
El problema inicial es que cada vez que cambio algún valor del filtro me refresca toda la página y para evitar eso he decidido refrescar solo el div donde muestro el resultado de la consulta, para ello he creado una página nueva a la que llamo Pagina1.php que contiene solo la consulta y en la página inicial que se llama Coches.php mantengo el formulario de Filtrar y el div donde cargo la Pagina1.php cada vez que filtro.
Lo que no se hacer es como pasar los valores seleccionados del formulario que utilizo para filtrar en Coches.php a la nueva Pagina1.php que es donde se encuentra mi consulta, y no lo se hacer porque es la primera vez que utilizo Jquery.
¿Me podeis ayudar?
Este es el código de Coches.php:
Código:
Código PHP :
<script type='text/javascript' src='jquery-1.7.1.min.js'></script> <script type='text/javascript'> $(document).ready(function(){ cargarContenido('Pagina1.php'); }); </script> <style type='text/css'> #contenido { position: absolute; top: 184px; left: 200px; width:765px;height: 165px;} .clock {position:relative;left:50%;top:50%;width:36px;height:36px;padding:20px;} </style> </head> <?php require_once('Connections/ConexionCoches.php'); $selciudad = isset($_GET["selciudad"])? $_GET["selciudad"]: ''; $aireacond = isset($_GET["aireacond"])? $_GET["aireacond"]: ''; ?> <body> <div id="DivContenedor"> <div id="Fondo"> <div id="DivFiltrado"> <form name="filtrar" id="filtrar" method="GET" action="Coches.php"> <table width="192" height="30" border="0"> <tr> <td align="center"> <select name="selciudad" id="selciudad" class="Guias3" Onchange="cargarContenido('Pagina1.php')"> <option value="-1" selected> Todas las Ciudades </option> <?php $tablaciudad = mysql_query("SELECT * FROM provincias ORDER BY Provincia ASC"); while ($registrociudad = mysql_fetch_array($tablaciudad )) if(empty($_GET['selciudad'])) { ($_GET['selciudad'] = '-1'); }elseif ($_GET["selciudad"]==$registrociudad['Provincia']) { echo "<option value='".$registrociudad['Provincia']."' selected> ".$registrociudad['Provincia']."</option>"; }else{ echo "<option value='".$registrociudad['Provincia']."' > ".$registrociudad['Provincia']."</option>"; } mysql_free_result($tablaciudad); ?> </select> </td> </tr> </table> <table width="184" border="0" align="center" class="Guias3" rules="rows"> <tr> <td align="left" height="22"> <?php if (isset($_GET["aireacond"])){ echo "<label><input type='checkbox' name='aireacond' id='aireacond' value='1' checked onClick=\"cargarContenido('Pagina1.php')\"/> Aireacond</label>"; }else{ echo "<label><input type='checkbox' name='aireacond' id='aireacond' value='1' onClick=\"cargarContenido('Pagina1.php')\"/> Aireacond</label>";} ?> </td> </tr> </table> </form> </div> <div id='contenido'></div> <script type='text/javascript'> function cargarContenido(pagina) { // cargamos el icono en el div donde ira el contenido $("#contenido").html("<img src='clock.gif' class='clock' border='0' />"); // cargamos la pagina Pagina1.php en el div contenido $("#contenido").load(pagina); } </script> </div> <!-- Cierro Fondo --> </div><!-- Cierro DivContenedor --> </body>
Esta es mi Pagina1.php con la que recargo el <div id='contenido'>:
Código:
Código PHP :
<?php require_once('Connections/ConexionCoches.php'); ?> <?php $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM coches WHERE Activacion = '1'"; if (isset($_GET['selciudad'])and $_GET['selciudad'] <>'-1') { $sql .= "AND coches.Ciudad = '$selciudad' "; }else {$sql .= "AND coches.Ciudad <> '-1' "; } if (isset($_GET['aireacond'])and $_GET['aireacond'] ='1') { $sql .= "AND coches.Aireacond = '$aireacond' "; }else {$sql .= "AND (coches.Aireacond = '1' or coches.Aireacond = '0')"; } $sql .= 'LIMIT 0, 12' ; if (!($result = @mysql_query($sql))) { die(mysql_error()); } //Recuperar el número total de registros en la tabla $rows = mysql_fetch_assoc(mysql_query('SELECT FOUND_ROWS() AS rows')); $tabla = mysql_query($sql); while ($registro = mysql_fetch_array($tabla)) { ?> <div class="Prueba"> <table class="MarcoFotoPrincipal" width="165" border="0"> <tr> <td><a href="<?php echo $registro['Url']; ?>"><img border="0" src="<?php echo $registro['FotoPrincipal']; ?>"></a></td> </tr> </table> <table width="165" align="center" border="2" bordercolor="#D6A64A"> <tr> <td align="center" class="Edad"><?php echo $registro['Edad']. " años / "; ?><?php echo $registro['Precio']. " €uros"; ?></td> </tr> <tr> <td align="center" class="Ciudad"><?php echo $registro['Ciudad']; ?></td> </tr> </table> </div> <?php } mysql_free_result($tabla); ?>
Por favor decidme como se hace.
Gracias a tod@s.