Foros del Web » Programando para Internet » Javascript »

cambiar contenido de un div con parametro

Estas en el tema de cambiar contenido de un div con parametro en el foro de Javascript en Foros del Web. Buenas, tengo una duda, he leido mensajes sobre este tema, pero no me ha quedado muy claro(soy bastante novato en esto). Tengo una pagina con ...
  #1 (permalink)  
Antiguo 14/10/2008, 02:19
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 20 años, 10 meses
Puntos: 0
Pregunta cambiar contenido de un div con parametro

Buenas, tengo una duda, he leido mensajes sobre este tema, pero no me ha quedado muy claro(soy bastante novato en esto).
Tengo una pagina con dos div.

Uno (codigo en php) con una consulta hacia una base de datos(mysql), que me devuelve un listado de autores.
echo "<p><a style=text-decoration:none; href='#'>".$row['nombre_autor']."</a></p>"; (esto dentro de un bucle while)


y otro, en el que quiero que al pinchar en el autor, me muestre sus datos.
Habia pensado pasar el parametro id del autor y traerme los datos dentro del div. Por lo que he leido esto ya habria que hacerlo con javascript, pero estoy un poco perdido.
Si alguien me puede orientar un poco, se lo agradeceria.

Un saludo.
  #2 (permalink)  
Antiguo 14/10/2008, 05:04
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: cambiar contenido de un div con parametro

Podria hacer 2 cosas...(y supongo que más)

Por un lado podrias generar dentro del segundo div,(de la misma forma que en el primero), un div oculto para cada uno de los autores con un id unico. luego segun el que pinchas mostrar uno u otro.

Por otro lado por medio de un poquito de ajax cuando pinchas podrias realizar una peticion al servidor pasando un archivo php en el que haces la consulta, extraes los datosy los presentas en el lugar que desees.

Para mi lo mas eficiente es la segunda opción, aunque realmente no se lo que será mejor

Saludos
  #3 (permalink)  
Antiguo 14/10/2008, 06:22
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 20 años, 10 meses
Puntos: 0
Sonrisa Respuesta: cambiar contenido de un div con parametro

Ya he solucionado algo. He conseguido hacer una funcion, que inserta el nombre del autor y la imagen..de esta forma:

Código HTML:
function funcion_ficha_autor(var_contenido_imagen,var_contenido_texto)
{
document.getElementById('imagen_ficha_autores').innerHTML = var_contenido_imagen;
document.getElementById('texto_ficha_autores').innerHTML = var_contenido_texto;
}



Código PHP:
$imagen_autor='./archivos/autores/'.$row[nombre_fichero_autor];
                    
$parametro_imagen="<img src=".$imagen_autor." width=56 height=77>";
                    
$var_funcion='javascript:funcion_ficha_autor("'.$parametro_imagen.'","'.$row['nombre_autor'].'")';
                    echo 
"<p><a style=text-decoration:none; href='$var_funcion'>".$row['nombre_autor']."</a></p>"

Con esto soluciono parte del problema, ya tengo la foto del autor, y el nombre. Pero tb tengo que listar los libros escritos por el(y eso es otra consulta contra la BD, por lo que no se cuantos parametros(libros) tendria que pasarle.
¿¿Tendria que meter todos los libros en el mismo parametro??...o hay otra forma menos salvaje...

Muchas Gracias por la ayuda
  #4 (permalink)  
Antiguo 14/10/2008, 07:26
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: cambiar contenido de un div con parametro

Asi se haría una consulta contra la BD desde el cliente por medio de ajax

Código javascript:
Ver original
  1. //Funcion que crea el objeto ajax
  2. function objetoAjax(){
  3.     var xmlhttp=false;
  4.     try {
  5.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  6.     } catch (e) {
  7.         try {
  8.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  9.         } catch (E) {
  10.             xmlhttp = false;
  11.     }
  12.     }
  13.  
  14.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  15.         xmlhttp = new XMLHttpRequest();
  16.     }
  17.     return xmlhttp;
  18. }
  19. function funcion_ficha_autor(var_contenido_imagen,var_contenido_texto,pagina)
  20. {
  21. document.getElementById('imagen_ficha_autores').innerHTML = var_contenido_imagen;
  22. document.getElementById('texto_ficha_autores').innerHTML = var_contenido_texto;
  23.  
  24.     divContenidoLibros = document.getElementById('contenido_libros');//lugar donde colocaras los libros
  25.     ajax=objetoAjax();
  26.     ajax.open("GET", pagina);
  27.     ajax.onreadystatechange=function() {
  28.         if (ajax.readyState==4) {
  29.             divContenidoLibros.innerHTML = ajax.responseText
  30.         }
  31.     }
  32.     ajax.send(null)
  33. }
  34. </script>

Código php:
Ver original
  1. $imagen_autor='./archivos/autores/'.$row[nombre_fichero_autor];
  2.                     $parametro_imagen="<img src=".$imagen_autor." width=56 height=77>";
  3.                     $var_funcion='javascript:funcion_ficha_autor("'.$parametro_imagen.'","'.$row['nombre_autor'].'","extraer_libros.php?id_autor='.$row['id_autor'].'")';
  4.                     echo "<p><a style=text-decoration:none; href='$var_funcion'>".$row['nombre_autor']."</a></p>";

en el archivo extraer_libros.php tendrás que hacer la consulta y insertar el codigo html para mostrar los libros,con una tabla, con divs,eso como tu quieras.una vez el servidor procese el archivo mandará el resultado mediante ajax.responseText y este se insertará en el div con id = "contenido_libros"
  #5 (permalink)  
Antiguo 15/10/2008, 03:34
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: cambiar contenido de un div con parametro

Muchas Gracias Mata. Era justo lo que necesitaba. Unicamente una cosilla el codigo ajax.open("GET", pagina); no me funcionaba, le he puesto POST, y todo perfecto.

De hacer paginas web en flash unicamente, he pasado a trabajar con php, javascript, css y ahora Ajax..quien me lo iba a decir

Gracias de nuevo ;)
  #6 (permalink)  
Antiguo 15/10/2008, 03:50
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: cambiar contenido de un div con parametro

me alegra haberte ayudado...

Nada pues,hasta otra...


bye,bye
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:24.