Foros del Web » Programando para Internet » Javascript »

mostrar foto usando AJAX+PHP

Estas en el tema de mostrar foto usando AJAX+PHP en el foro de Javascript en Foros del Web. Hola a todos, hoy empesé con ajax convinandolo con php bien, estuve buscando por ahi y vi cosas realmente dificiles a mi nivel, sea un ...
  #1 (permalink)  
Antiguo 21/02/2012, 21:59
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 10 meses
Puntos: 5
mostrar foto usando AJAX+PHP

Hola a todos, hoy empesé con ajax convinandolo con php bien, estuve buscando por ahi y vi cosas realmente dificiles a mi nivel, sea un tutorial o lo que sea, algo que no me entra a la cabeza y me cuesta aprender, bien me largué solo e hise un codigo para probarlo y tratar de devolver una imagen de una base de datos en una div.

Lo que deseo hacer es que cuando se cargue la pagina la div "foto-personas" se cargue automaticamente con una imagen extraida de una db:

este es mi codigo:

Código Javascript:
Ver original
  1. function objetoAjax(){
  2.   var xmlhttp=false;
  3.   try {
  4.   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.   } catch (e) {
  6.   try {
  7.   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.   } catch (E) {
  9.   xmlhttp = false;
  10.   }
  11.   }
  12.   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  13.   xmlhttp = new XMLHttpRequest();
  14.   }
  15.   return xmlhttp;
  16. }
  17. function pedirDatos(){
  18. //donde se mostrar el resultado
  19. divResultado = document.getElementById('foto-persona');
  20. //tomamos el valor de la lista desplegable
  21. nom=document.formulario.lista.value;
  22. //instanciamos el objetoAjax
  23. ajax=objetoAjax();
  24. //usamos el medoto POST
  25. //archivo que realizar la operacion
  26. //datoscliente.php
  27. ajax.open("POST", "mostrarfoto.php",true);
  28. ajax.onreadystatechange=function() {
  29. if (ajax.readyState==4) {
  30. //mostrar resultados en esta capa
  31. divResultado.innerHTML = ajax.responseText
  32. }
  33. }
  34. ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  35. //enviando los valores
  36. ajax.send()
  37. }

mostrarfoto.php:

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3.  
  4.     $q_consulta = mysql_query('SELECT link_foto from fotos where pertenecea_foto = 1410854509',$db);
  5.     echo '<img src="uploads/'.mysql_result($q_consulta, 0).'">';
  6. ?>

y el contenido html:
header: <script language="JavaScript" type="text/javascript" src="ajax.js"></script>
Código HTML:
Ver original
  1. <div id="foto-persona" class="foto-persona">
  2. </div>

Como puedo solucionar esto?, asi de paso aprendo y de una vez me saco la intriga de como masomenos funciona esto

PD: el codigo ajax lo extraje de un tutorial que de verdad me parecia complicado, intente retocarlo pero no me funciono y ya sabia que no iba a funcionar jaja.

Muchas gracias!
__________________
Mi primera web: http://www.mascoteame.com
  #2 (permalink)  
Antiguo 22/02/2012, 02:28
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: mostrar foto usando AJAX+PHP

Hola:

Parece que ya tienes bastante idea del funcionamiento, pero a la hora de conseguir los resultados puede que te encuentres con problemas... particularmente cuando hago peticiones, compruebo que la respuesta sea correcta viendo el código que devuelve la petición en un popup... en este caso sería algo asÍ:

window.open("mostrarfoto.php");

El código que veas en el popup será el que llegue a tu página con la petición... si es el correcto, debería también ser correcto en tu página.

Lo que no entiendo es porqué usas un método post

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: ajax, ajax-php, formulario, foto, funcion, html, js, php
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 01:58.