Foros del Web » Estrategias Digitales y Negocios Online » Negocios »

como hacer que funcione esta funcion js de forma asincronica

Estas en el tema de como hacer que funcione esta funcion js de forma asincronica en el foro de Negocios en Foros del Web. No consigo hacer que funcione un js que lo que hace es mostrar dos imagenes en dos div diferentes y luego cambiarlas hasta recorrer todo ...
  #1 (permalink)  
Antiguo 15/09/2011, 05:26
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
como hacer que funcione esta funcion js de forma asincronica

No consigo hacer que funcione un js que lo que hace es mostrar dos imagenes en dos div diferentes y luego cambiarlas hasta recorrer todo el array, donde dicho array lo saco de mi db que paso de php a javascript.

muestro codigo ya que no se como hacerlo, espero que me puedan corregir de mis errores y orientarme a como hacerlo.

Saludos.


ajax.js
Código Javascript:
Ver original
  1. function objetoAjax()   {
  2.     if (window.XMLHttpRequest)
  3.         _ajax = new XMLHttpRequest();
  4.     else
  5.         if (window.ActiveXObject)
  6.             _ajax = new ActiveXObject("Microsoft.XMLHTTP");
  7.         else
  8.             _ajax = false;
  9.     return _ajax;
  10. }
  11.  
  12. function pedir(dato) {
  13. Ajax = objetoAjax();
  14. Ajax.open("get","recuperar.php?nombre=" + dato, true);
  15. Ajax.onreadystatechange = function() {
  16.   if (Ajax.readyState == 4 && (Ajax.status == 200 || Ajax.status == 501)){
  17.    document.getElementById('recuperar').innerHTML=Ajax.responseText;
  18. }
  19.  }
  20.  Ajax.send(null);
  21. }

aqui el script donde tengo el select que deberia cambiar la consulta sql y los arrays del javascript para mostrarmelos en el div

mostrar.php

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <script type="text/javascript" language="javascript" src="ajax.js"></script>
  4.        
  5.     </head>
  6.     <body>
  7.  
  8. <?php
  9. $con=mysql_connect("localhost","root","");
  10. $consulta="select * from nombres";
  11. $reg=mysql_query($consulta);
  12. ?>
  13. <form nambe="form" method="get">
  14. <select name="nombre" id="nombre" onchange="pedir(document.getElementById('nombre').value)">
  15.     <option value="">seleciona nombre</option>
  16.  <?php
  17.  while ($row=mysql_fetch_assoc($reg)){
  18.     ?>
  19.     <option value="<?php echo $row['id_nombre']; ?>"><?php echo $row['nombre'];?></option>
  20. <?php  
  21. }
  22. ?>
  23. </select>
  24. </form>
  25.  
  26. <div id="recuperar"></div>
  27.  
  28.     </body>
  29. </html>

en este codigo es donde intento recuperar los datos de la funcion js en el div recuperar del script anterior.

recuperar.php

Código PHP:
Ver original
  1. <?php
  2. $con=mysql_connect("localhost","root","");
  3. $consulta="select * from nombres where id_nombre=".$_GET['nombre']."";
  4. $reg=mysql_query($consulta);
  5. $nombres=array();
  6. while ($row = mysql_fetch_assoc($reg)){
  7. $nombres[]= $row['nombres'];
  8. }
  9. ?>
  10.  
  11. <script language='javascript'>
  12.  
  13. var nombres = new Array();
  14.  
  15.  
  16. <?php
  17. for ($i = 0, $total = count($nombres); $i < $total; $i ++)
  18. echo "\nnombres[$i] = '$nombres[$i]';";
  19. ?>
  20.  
  21.  
  22. var pos = 0;
  23.  function MostrarRegistos(){
  24.    
  25.     for (i=1;i<=2;i++){
  26.        
  27.              nombre = nombres[pos];
  28.  
  29. document.getElementById("registro"+i).innerHTML ='<p><img src="perfil/' + nombre + ' "> </p>';
  30.  
  31.                      
  32.                      pos++;
  33.                 if(pos>=(nombres.length)){pos = 0}
  34.             }
  35.         }
  36.            
  37.         window.onload = MostrarRegistos;
  38.        
  39.         setInterval(MostrarRegistos,4000)
  40.        
  41. </script>
  42. <div id="registro1"></div>
  43. <div id="registro2"></div>

Etiquetas: ajax, funcion, javascript, js, mysql, php, select, formulario
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 06:39.