Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: kakashi20 en 10 Febrero 2011, 01:34 AM

Título: ayuda metodo onchange
Publicado por: kakashi20 en 10 Febrero 2011, 01:34 AM
hola

tengo dos <input type="text"> en php, lo que quisiera hacer es que en el primer text escribir una cédula  para que en el segundo text me arrojara el nombre de la persona asociada a esa cédula la cual se encuentra en una base de datos mysql

¿ como podría hacer eso con el método onchange del text o si se pude hacer de otra forma ?


Si alguien me pudiese ayudar se lo agradecería.
Título: Re: ayuda metodo onchange
Publicado por: Lunfardo en 10 Febrero 2011, 01:48 AM
si lo queres s¡n tener que actulizar la pagina vas a necesitar ajax, de otra manera yo no se ya que onchange() solo llama funciones en javascript, y javascript no puede acceder a una base de datos directamente.
Título: Re: ayuda metodo onchange
Publicado por: #!drvy en 10 Febrero 2011, 01:52 AM
Esto implicaria javascript. Lo mas facil es hacerlo con jQuery.
Puedes adaptar uno de estos ejemplos a tu gusto.

::-> Tutorial basico para hacer autocompletar con jquery (http://asiermarques.com/2007/09/26/tutorial-basico-para-hacer-autocompletar-con-jQuery/)
::-> Funcion autocompletar con jQuery (http://www.colordeu.es/BLOG/funcion-de-autocompletar-con-jquery)
::-> Autocompletar jQuery (http://dixso.net/jquery/autocomplete-con-jquery/)



Saludos
Título: Re: ayuda metodo onchange
Publicado por: Lunfardo en 10 Febrero 2011, 02:00 AM
no creo que sea necesario usar jquery, ya que jquery utiliza funciones ajax, y lo que el deberia hacer en ajax es bastante simple
Título: Re: ayuda metodo onchange
Publicado por: kakashi20 en 10 Febrero 2011, 02:03 AM
el jquery no me sirve para esto pero si para otras cosas, pero como lo podria hacer esto en ajax ?


Gracias
Título: Re: ayuda metodo onchange
Publicado por: Lunfardo en 10 Febrero 2011, 02:06 AM
bueno , espero que te sirve si ya no lo hizo google =P, estaba comiendo y por eso me atrase

el javascript seria asi :
Código (javascript) [Seleccionar]


var xmlHttp = new XMLHttpRequest();

function buscarAp() {
var nombre = document.getElementById('nombre').value;

   if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {

       xmlHttp.open("GET", "respuesta.php?nombre=" + nombre, true);

       xmlHttp.onreadystatechange = manejarRespuesta;

       xmlHttp.send(null);
   }
   else
       setTimeout('buscarAp()', 1000);
}

function manejarRespuesta() {
if ((xmlHttp.readyState == 4)&&(xmlHttp.status == 200)){

      var respuesta = xmlHttp.responseText
          var apellido= document.getElementById("apellido");
  apellido.value=respuesta;
           setTimeout('buscarAp()', 1000);
}
}



donde la funcion buscarAp se carga en el onload() del body.


el php(respuesta.php) es algo trivial por que supongo que lo sabes hacer...
Código (php) [Seleccionar]

<?php


$nombre
$_GET['nombre'];


$apellido ConectarYBuscarEnDB($nombre);

echo 
$apellido;

?>



el ejemplo es basico pero espero que te sirva

Título: Re: ayuda metodo onchange
Publicado por: #!drvy en 10 Febrero 2011, 02:08 AM
@SmogMX
Dije lo mas facil, suponiendo que en 4-5 lineas lo tenias hecho.


@kakashi20
No se porque no te sirve, pues puedes adaptarlo perfectamente a lo que pides.
De todos modos aqui tienes a al sr. Google dando te la informacion necesaria para conseguirlo.

::-> http://www.google.com/search?hl=en&biw=1280&bih=899&q=busqueda+ajax+&aq=f&aqi=&aql=&oq=


Saludos
Título: Re: ayuda metodo onchange
Publicado por: kakashi20 en 10 Febrero 2011, 02:13 AM
Gracias

Estoy leyendo lo de google y ya encontré una manera de como hacerlo. Voy a intentar.

Título: Re: ayuda metodo onchange
Publicado por: Lunfardo en 10 Febrero 2011, 02:51 AM
puede ser que tengas razon drby, pero primero va a tener que entender todo el articulo antes de moficar las lineas que necesita,

es solo mi opinion nomas
Título: Re: ayuda metodo onchange
Publicado por: Nakp en 10 Febrero 2011, 03:29 AM
Cita de: kakashi20 en 10 Febrero 2011, 02:03 AM
el jquery no me sirve para esto pero si para otras cosas, pero como lo podria hacer esto en ajax ?


Gracias

no tienes ni idea de jquery xD

bueno :P sucede que no se puede onchange :P debes hacer algo como onkeyup y que el input tenga focus xD
Título: Re: ayuda metodo onchange
Publicado por: kakashi20 en 10 Febrero 2011, 03:50 AM
hola

SmogMX : vi el código y me sirvió mucho mas otras cosas que encontré en google..

Gracias a todos por ayudarme