Pasar variables entre 2 paginas con Jquery

Iniciado por Unexes, 2 Diciembre 2012, 11:57 AM

0 Miembros y 1 Visitante están viendo este tema.

Unexes

Bueno es la primera vez que entro en este foro y espero que me podais ayudar.
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 de 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:        <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>&nbsp;Todas las Ciudades&nbsp;&nbsp;</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>&nbsp;&nbsp;".$registrociudad['Provincia']."</option>";
       }else{
          echo 
"<option value='".$registrociudad['Provincia']."' >&nbsp;&nbsp;".$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 que recargo en el <div id='contenido'>:
<?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']. "&nbsp;años&nbsp;/&nbsp;"?><?php echo $registro['Precio']. "&nbsp;€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 lo debo hacer.
Gracias a tod@s.

RevangelyonX

Hola

Yo me olvidaría del método load y lo haría con Ajax.

Coche hace la consulta por Ajax a Pagina1 y actualiza la información dibamicamente.

Te aconsejo que hagas un nuevo PHP de pruebas con Ajax para que veas como funciona y como aplicarlo a tu aplicación.

Salu2

PD: Vigila con las inyecciones que actualmente se pueden hacer en Pagina1
Just Linux
OSCP certified

Draco Heroicus


jQuery.ajax({
  url:'url_consulta.php',
  type:'GET',
  data{
    par1:'valor1',
    par2:333
     //equivale a ?par1=valor1&par2=333
   },
success:function(data){ //data es lo que retorna la consulta, sugiero JSON
//procesa la respuesta
}
});

Graphixx

eso que quieres hacer lo puedes hacer con una libreria que se llama thickbox, mira te dejo un manual
http://www.4shared.com/file/SzoaaVia/Modulo_de_POPUP.html
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog