Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/11/2012, 11:52
JamesWhannel
 
Fecha de Ingreso: septiembre-2012
Mensajes: 26
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Mostrar datos traidos con un select en un formulario usando PHP (o JS)

Encontré un codigo (no se si está en JavaScript o Ajax) y PHP que hace lo que necesito, o sea de una lista desplegable me muestra los nombres y al clickearlo despliega todos los demás datos que pertenecen a dicho usuario.

En esta parte hace la consulta y llena la lista desplegable con los campos
que están en la BD

Código HTML:
<?php
require('conexion.php');

//seleccionamos solo el nombre de los clientes
$sql=mysql_query("SELECT nombres FROM clientes",$con);

?>
<select name="lista" onchange="pedirDatos()" >
<?php
while($row = mysql_fetch_array($sql)){
	echo "<option value=\"".$row['nombres']."\">".$row['nombres']."</option> \n";
}
?>
</select> 
Este es el codigo que hace la funcion, se llama ajax.js :

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.  
  13.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.         xmlhttp = new XMLHttpRequest();
  15.     }
  16.     return xmlhttp;
  17. }
  18.  
  19. function pedirDatos(){
  20.     //donde se mostrará el resultado
  21.     divResultado = document.getElementById('resultado');
  22.     //tomamos el valor de la lista desplegable
  23.     nom=document.formulario.lista.value;
  24.  
  25.     //instanciamos el objetoAjax
  26.     ajax=objetoAjax();
  27.     //usamos el medoto POST
  28.     //archivo que realizará la operacion
  29.     //datoscliente.php
  30.     ajax.open("POST", "datoscliente.php",true);
  31.     ajax.onreadystatechange=function() {
  32.         if (ajax.readyState==4) {
  33.             //mostrar resultados en esta capa
  34.             divResultado.innerHTML = ajax.responseText
  35.         }
  36.     }
  37.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  38.     //enviando los valores
  39.     ajax.send("nombres="+nom)
  40. }

Lo que aparece en la linea 34 según entiendo, es lo que ya me manda al
momento que hago la seleccion de la lista y despliega todos los datos ya que
aparece div resultado en este formulario html:

Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Consulta de datos</title>
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
</head>
<body>
<p>Este ejemplo muestra como realizar una consulta de los registros de una tabla usando un control de lista.</p>
<form name="formulario" action="">
<?php
	include('lista.php');
?>
</form>
<div id="resultado" style="border:1px solid #FF0000; color:#000099;width:400px;">
</div>
</body>
</html> 
A lo que voy es que ahi nadamas me muestra los datos debajo de la lista,
despliega un cuadro y ahi aparece la información, el problema es que yo
necesito que los datos me aparezcan en los cuadros de texto que tengo en
mi formulario, a ver si alguien me pudiera ayudar a hacer la modificación o
darme una idea de como modificarlo, como no se JavaScript ni Ajax me es
muy complicado saber que va y que no va o por donde empezar

Si es necesario muevan a otro subforo mi pregunta, gracias.!