Tengo una función en Javascript que debe abrir un archivo en PHP, de la forma:
Código Javascript :
ajax.open("GET", "valoracion.php?idPost="+separaCadHijos[i]+"&valoracion="+valoracionSeleccionada+"&actualiza="+actualiza,true);
Como se puede observar, estos parámetros varían en cada llamada al archivo PHP, es decir, tengo ese OPEN metido dentro de un bucle FOR, es decir:
Código Javascript :
for(i=0;i<numHijos-1;i++) { var selectorValoracionHijo=document.getElementById("valoracionHijos"+separaCadHijos[i]); selectorValoracionHijo.options[selectorValoracionHijo.selectedIndex].value=valoracionSeleccionada; //alert("idPost-> "+idPost+", idHijo-> "+separaCadHijos[i]+", valoracion-> "+valoracionSeleccionada+ ", actualiza-> "+actualiza); contenedorValoracion=document.getElementById("hidden"); ajax.open("GET", "valoracion.php?idPost="+separaCadHijos[i]+"&valoracion="+valoracionSeleccionada+"&actualiza="+actualiza,true); ajax.onreadystatechange=function() { if(ajax.readyState==4) { contenedorValoracion.innerHTML = ajax.responseText; } } ajax.send(null); }
Mi problema es que en ese archivo de PHP se hace un INSERT/UPDATE, que actualiza la base de datos con MYSQL. Y si pongo el ALERT que está comentado, es cuando me funciona bien, ya que obliga a esperar un tiempo razonable por cada iteración (para que dé tiempo a la BBDD). Si no pongo el ALERT, se me actualizan 3 o 4 filas, pero no todas. Supongo que es porque se ejecuta paralelamente el archivo PHP y la nueva iteración de AJAX¿?
¿Hay alguna forma más "elegante" de solucionar ésto?