Ver Mensaje Individual
  #9 (permalink)  
Antiguo 22/06/2012, 21:22
abuitrago81
 
Fecha de Ingreso: mayo-2010
Mensajes: 41
Antigüedad: 14 años
Puntos: 0
Respuesta: Actualizar una variable PHP sin recargar la página.

Ya imagino que no me explico bien jeje.
A ver, mi página es un menú arriba con 5 opciones, una de ellas es Galerias. Cada opción de menú NO va a otra página, sino que se desliza hasta una posición más para abajo en esa misma página, cada una con un #identificador.

Que estan puestos de esta forma:
Código HTML:
Ver original
  1. <section id="noticias">
  2.  
  3.  
  4. <section id="galerias">
  5.  
  6.  
  7. <section id="contacto">
  8.  
  9.  
  10. <div id="miDiv">
  11.       <-- aquí deberá cargarse el contenido. en principio no hay nada -->
  12. </div>

Bueno pues en la sección de galerías el código es este:
Código HTML:
Ver original
  1. <section id="portfolio"> <!-- HTML5 section tag for the portfolio 'section' -->
  2.        
  3.             <h2 class="work">Mis Galerías</h2>
  4.                
  5.             <ul class="work">
  6.                 <?php
  7.                     while($row = mysql_fetch_array($album)) {
  8.                     $seccion_modificada = str_replace(" ","_",htmlentities($row['album']));
  9.                     $seccion_modificada = elimina_acentos($seccion_modificada);            
  10.                 ?>
  11.                 <li><a href="#<?php echo $seccion_modificada; ?>" title="<?php echo htmlentities($row['album']); ?>" onclick='recargar("<?php echo $seccion_modificada; ?>");' ><img src="<?php echo $row['rutaImagen']; ?>" alt="<?php echo htmlentities($row['album']); ?>" /></a></li>
  12.                 <?php } ?>
  13.             </ul>
  14.                    
  15.         </section>

Ahí lo que salen son varios thumbnails que representan a cada álbum (Madrid, Londres, Tokio,etc...) y esas imagenes tienen un evento onclick que llama a una función y le envía como parámetro el nombre del álbum.

Código Javascript:
Ver original
  1. <script type="text/javascript" >
  2.             function recargar(parametro){
  3.                 var url = "recargarGaleria.php?p="+parametro;
  4.                 $('#miDiv').load(url);
  5.             }
  6.      </script>

Y en esta función le digo que en el <div> que tengo abajo del todo vacío me cargue el contenido que hay en la página recargarGaleria.php, a la cual le paso como parametro por la url el parametro q había recibido la función (el nombre del album).

Bueno pues la página php tiene lo siguiente:
Código PHP:
Ver original
  1. <?php
  2.     include('db.inc.php');
  3.  
  4.     $param = $_GET['p'];
  5.         global $conexion;      
  6.     echo '<section id="'.$param.'">'; ?>
  7.     <h2 class="work"><?php echo $param; ?></h2>
  8.     <?php echo '<ul class="work">'; ?>
  9.     <?php
  10.            $album3 = mysql_query("SELECT * from galeria WHERE titulo = '". $param ."' ORDER BY id DESC", $conexion);
  11.            while($row3 = mysql_fetch_array($album3)){ ?>
  12.                 <li><a class="group1" href="<?php echo $row3['ruta']; ?>" title="<?php echo htmlentities($row3['descripcion']); ?>"><img src="<?php echo $row3['thumbnail']; ?>" alt="<?php echo htmlentities($row3['descripcion']); ?>" /></a></li>
  13.            <?php } ?>
  14.             </ul>
  15.     <?php echo '</section>'; ?>

Y claro, el problema es que en el enlace que tiene el onclick le dice que vaya a algo que no existe aún, href="#Madrid" por ejemplo, pero hasta que no llega a la página php no se crea el <section id="Madrid">.
Por eso cuando hago click una vez me carga el contenido dentro del <div>, pero no desplaza allí. Si le vuelvo a hacer click ya si que se desplaza porque ahora ya hay un <section id="Madrid"> donde ir.

Lo que necesito es que despues de cargar la página se posicione dnd está el<div id="miDiv">.

Espero que ahora sepas un poco mejor lo que trato de hacer.
Si kieres ver lo que pasa pruebalo aquí: http://www.abuitrago.comli.com/

Si no se pueden poner enlaces dímelo y lo quito. Un saludo.