Hos dejo codigo por si alguien me quiere ayudar.
Aqui tengo las funciones js que utilizo para mostrar datos de forma asincronica
funciones js
Código Javascript:
Ver original
var procesamiento, xml = null, contador=0; function MostrarRegistro() { try { document.getElementById("registro").innerHTML ='<p>'+ xml.getElementsByTagName('nombre')[contador].firstChild.nodeValue+'</p>'; contador ++; } catch(e) { document.getElementById("registro").innerHTML = ''; contador = 0; } } function MostrarNombres() { var ajax = objetoAjax(); ajax.open('get','archivo.xml'); ajax.onreadystatechange = function() { if(ajax.readyState == 4){ if(ajax.status == 200) { xml=ajax.responseXML; if(xml.getElementsByTagName('nombre').length > 0) procesamiento = window.setInterval(MostrarRegistro, 4000); } } } ajax.send(null); } function objetoAjax() { if (window.XMLHttpRequest) _ajax = new XMLHttpRequest(); else if (window.ActiveXObject) _ajax = new ActiveXObject("Microsoft.XMLHTTP"); else _ajax = false; return _ajax; } window.onload=MostrarNombres(); function pedir(dato) { Ajax = objetoAjax(); Ajax.open("get","recuperar.php?seccion=" + dato, true); Ajax.onreadystatechange = function() { if (Ajax.readyState == 4 && (Ajax.status == 200 || Ajax.status == 501)){ document.getElementById('recuperar_datos').innerHTML=Ajax.responseText; } } Ajax.send(null); }
aqui es el script donde tengo el select y el div para mostrar los datos
mostrar_datos.php
Código PHP:
Ver original
<head> <script type="text/javascript" language="javascript" src="funciones.js"></script> </head> <body> <form method="get"> <select name="seccion" id="seccion" onchange="pedir(document.getElementById('seccion').value)"> ... </select> </form> <div id="recuperar_datos"> <?php $consulta="select * from nombres where seccion='".$_GET['seccion']."'"; ?> </div> <?php //aqui creo el xml dependiendo de la consulta que me cambia dinamicamente ?> <div id="registro"></div>
este script es donde recupero los datos de forma asincronica
recuperar.php
Código PHP:
Ver original
<?php //creo la conexion y creo la consulta que debe cambiar $consulta="select * from nombres where seccion='".$_GET['seccion']."'"; ?>
Realmente lo que quiero es que cuando selecione una opcion me cambie los datos en pantalla, osea que si pongo un submit en el select me los cambia pero esto no quiero ya que no quiero recargar la pagina.
Saludos.