Mira, si por último pruebas con el código que ahora pegaré tal cual, y que a mi me funciona ¿qué pasa?
recuperar.php
Código:
<?php
$numero = null;
if(is_numeric($_GET['codigo'])){
$con=mysql_connect("localhost","root","elpassword");
mysql_select_db("db");
$consulta="select * from prueba where id=".$_GET['codigo'];
$reg=mysql_query($consulta);
while ($row = mysql_fetch_assoc($reg)){
$numero[]= $row['numero'];
}
mysql_close($con);
}
echo json_encode($numero);
?>
funcion.js
Código:
function objetoAjax() {
if (window.XMLHttpRequest)
_ajax = new XMLHttpRequest();
else
if (window.ActiveXObject)
_ajax = new ActiveXObject("Microsoft.XMLHTTP");
else
_ajax = false;
return _ajax;
}
var procesamiento, retorno;
function limpiar() {
try { window.clearInterval(procesamiento); } catch(e) {}
retorno = null;
}
function pedir(dato) {
limpiar();
document.getElementById('ajax_datos').innerHTML = '';
var Ajax = objetoAjax();
Ajax.open("get","recuperar.php?codigo=" + dato);
Ajax.onreadystatechange = function() {
if (Ajax.readyState == 4 && (Ajax.status == 200 || Ajax.status == 501)){
retorno = eval(Ajax.responseText);
if(retorno == null)
return;
procesamiento = window.setInterval(MostrarRegistros, 1500);
}
}
Ajax.send(null);
}
function MostrarRegistros(){
contenido = '';
var dato = retorno.shift();
if(dato == undefined) {
limpiar();
return;
}
contenido += '<div id="registro'+dato+'"><p>'+dato+'</p></div>';
var dato = retorno.shift();
if(dato == undefined)
limpiar();
else
contenido += '<div id="registro'+dato+'"><p>'+dato+'</p></div>';
document.getElementById('ajax_datos').innerHTML = contenido;
}
codigo.php
Código:
<html>
<head>
<script type="text/javascript" src="funcion.js"></script>
</head>
<body>
<select name="codigo" id="codigo" onchange="pedir(document.getElementById('codigo').value)">
<option value="">selecciona número</option>
<?php
$con=mysql_connect("localhost","root","elpassword");
mysql_select_db("db");
$consulta="select * from prueba";
$reg=mysql_query($consulta);
while ($row = mysql_fetch_assoc($reg)){
?>
<option value="<?php echo $row['numero']; ?>"><?php echo $row['numero'];?></option>
<?php
}
mysql_close($con);
?>
</select>
<div id="ajax_datos"></div>
</body>
</html>
Y obviamente cambiando la clave de acceso por la que usas.