Foros del Web » Programando para Internet » PHP »

rellenar campos automaticamente

Estas en el tema de rellenar campos automaticamente en el foro de PHP en Foros del Web. Hola chicos, como han estado?... Tengo una consulta, pero no se como se llama o como buscarlo... Les cuento lo que necesito... Tengo una tabla ...
  #1 (permalink)  
Antiguo 15/11/2012, 14:07
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
rellenar campos automaticamente

Hola chicos, como han estado?...

Tengo una consulta, pero no se como se llama o como buscarlo...

Les cuento lo que necesito...

Tengo una tabla en base de datos mysql con 3 campos, RUT, CV y Proveedor, y quiero que en mi pagina, donde tengo 3 campos de texto, solo con ingresar el rut se me muestre en el segundo y en el tercero (que no son editables) los datos correspondientes al RUT, para asi poder seguir ingresando los datos...

Como puedo llegar a eso?
  #2 (permalink)  
Antiguo 15/11/2012, 14:27
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 14 años, 1 mes
Puntos: 511
Respuesta: rellenar campos automaticamente

Hola que tal.


Para ese proceso puedes utilizar ajax. Si no conoces ajax utiliza un Framework como jquery para que te facilite el proceso

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 15/11/2012, 19:41
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: rellenar campos automaticamente

Perooooo.... alguna pista, algo...
  #4 (permalink)  
Antiguo 15/11/2012, 20:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: rellenar campos automaticamente

¿No se entendió claramente lo que sugieren?: AJAX

¿O lo necesitas más entendible?: Manual AJAX
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 16/11/2012, 05:37
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 7 meses
Puntos: 33
Respuesta: rellenar campos automaticamente

Buenas,

No me gustaría que este comentario fuese tomado como ofensivo o algo similar, pero no es necesario que se use AJAX.

Se podría hacer, con PHP el siguiente sistema:

Código:
 - Muestras formulario HTML con PHP

 - Cuando el campo RUT sea elegido de un select (combobox)* se hace un submit de formulario con un simple JS **

 - La página receptora tramita un SQL usando el RUT (supongo que es PK) para sacar los otros dos datos

 - Se vuelve a la página anterior mediante un submit de un formulario, mediante el cual se pasan los datos de los tres campos

 - Se rellena el formulario con PHP con los datos pasados.
*Yo supongo que si los otros dos campos dependen del RUT, será una PK (primary key), por lo que no habrá duplicados, y por lo que se puede cargar en un select (combobox).

** el submit se hace de una manera similar a esta:

document.getElementById('form1').submit();

siendo "form1" el ID que le des al form (<form name="formulario1" id="form1" action..."

Se que quizás no es la manera más rápida ni la más óptima, pero a los problemas soluciones. Creo que perder 10 minutos elaborando una respuesta no cuesta tanto.

Repito, no quiero que suene ofensivo ni nada por el estilo.

Saludos
  #6 (permalink)  
Antiguo 16/11/2012, 20:57
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: rellenar campos automaticamente

Muchas gracias por tu respuesta, hare lo que dices, si me funciona, seria espectacular!!!
  #7 (permalink)  
Antiguo 17/11/2012, 06:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: rellenar campos automaticamente

Muy bonito, pero tiene dos problemas:
1) El JavaScript no hace consultas a la base. Se hace en PHP.
2) No se puede refrescar los datos de esa página de ese modo sin tener que regenerarla. En otras palabras, el ingreso del dato al textbox no produce la visualización de la información sin antes enviarla.

En definitiva, lo que te proponen es hacer un simple formulario, común y silvestre, donde con un botón envías a realizar la consulta y luego la página se recarga para mostrar los datos encontradas. O sea lo mismo que cualquier código de formulario...

Si eso es lo que te sirve, entonces no es lo que planteas:
Cita:
Tengo una tabla en base de datos mysql con 3 campos, RUT, CV y Proveedor, y quiero que en mi pagina, donde tengo 3 campos de texto, solo con ingresar el rut se me muestre en el segundo y en el tercero (que no son editables) los datos correspondientes al RUT, para asi poder seguir ingresando los datos...
Eso no se puede hacer solamente con JavaScript... Por eso te aconsejan usar AJAX.

¿Se entiende ahora?

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 17/11/2012 a las 09:41
  #8 (permalink)  
Antiguo 18/11/2012, 05:11
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 7 meses
Puntos: 33
Respuesta: rellenar campos automaticamente

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Muy bonito, pero tiene dos problemas:
1) El JavaScript no hace consultas a la base. Se hace en PHP.
2) No se puede refrescar los datos de esa página de ese modo sin tener que regenerarla. En otras palabras, el ingreso del dato al textbox no produce la visualización de la información sin antes enviarla.

En definitiva, lo que te proponen es hacer un simple formulario, común y silvestre, donde con un botón envías a realizar la consulta y luego la página se recarga para mostrar los datos encontradas. O sea lo mismo que cualquier código de formulario...

Si eso es lo que te sirve, entonces no es lo que planteas:
Eso no se puede hacer solamente con JavaScript... Por eso te aconsejan usar AJAX.

¿Se entiende ahora?

Si lo dices por el mensaje que deje con una posible solución sin AJAX, te recomendaría que acabaras de leer el mensaje.

Mi solución se basa en el siguiente esquema


- Formulario HTML
- Al cambiar el valor de RUT se hace submit mediante JS
- La página de destino (PHP) busca datos en la BBDD y mediante un form (o un header location) vuelve a la página anterior con los datos recuperados
- Formulario HTML con los datos recogidos

No uso JS para recoger datos de la BBDD, solo para hacer submit al form.

Saludos.
  #9 (permalink)  
Antiguo 18/11/2012, 12:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: rellenar campos automaticamente

Es obvio para mí que no leíste nada más allá de la primera frase...
1) No estoy diciendo que uses sólo JS, sino que tu solución es un fuormulario común y silvestre, que puedes encontrar en cualquier tutorial elemental.
2) Sí estoy diciendo que tu solución no aplica para lo que se infiere que el forista plantea, y esto es que a medida que el usuario ingrese los valores en el textbox, el sistema busque y muestre los datos. Y eso no es lo que propones.
Lee bien lo que resalté de su post:
Cita:
Tengo una tabla en base de datos mysql con 3 campos, RUT, CV y Proveedor, y quiero que en mi pagina, donde tengo 3 campos de texto, solo con ingresar el rut se me muestre en el segundo y en el tercero (que no son editables) los datos correspondientes al RUT, para asi poder seguir ingresando los datos...
Desde el momento que lo que pide es sólo ingresar, se infiere que es un sistema interactivo sincrónico, por lo que una solución asincrónica no es la idea, y una sincrónica no se puede implementar sólo con un formulario en web y peticiones por submit.

¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 18/11/2012, 15:27
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 7 meses
Puntos: 33
Respuesta: rellenar campos automaticamente

Ah, mea culpa, no entendí bien la primera explicación.

Si bien, como dices tú, la petición ha de ser sincrónica, y por ende, se ha de usar AJAX o similar, me gustaría añadir un par de aspectos:

- He visto cantidad de formularios que se actualizan de manera asincrónica, sobre todo con temas de "ciudad - países".

- Yo, personalmente, no me importaría (como usuario) que un formulario me hiciera un "refresh" al introducir un dato. Es algo que antes de la llegada de AJAX era común...

- Aproveché que este es el foro de PHP para responder con una solución que se pueda hacer (en gran medida) en PHP.

- El primer post dice, literalmente "solo con ingresar el rut", como bien apuntas. Según entiendo yo, el proceso se lanzaría después de ingresar el valor, por lo que no implica que sea sincrónico; otra cosa hubiera sido "a medida que se ingresa el RUT", ahí sí sería obligatorio algo sincrónico (y aún así he visto formularios que tienen "buscadores" asincrónicos, como la web del Ministerio de Educación de España, que para hacer la Beca MEC tienes que filtrar los centros universitarios, y se hace de manera asincrónica).

- Con una solución asincrónica aseguramos una mayor compatibilidad con exploradores que no soporten AJAX.

- Usar una solución sin AJAX no implica tener que hacer más búsquedas para ver cómo se usa AJAX.

Finalmente pido perdón a marce_vampira, que le estoy ensuciando el tema con este debate (¿no hay off-topic en algún foro? - por si quieres seguir debatiendo el tema con calma).

Saludos
  #11 (permalink)  
Antiguo 18/11/2012, 15:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: rellenar campos automaticamente

No te hagas problema.
Los debates de este tipo son muy habituales en el foro cuando la descripción del problema por parte de quien lo plantea tiene formas diferentes de ser interpretadas.
Lo unico importante es ahora que marce_vampira nos de una descripción algo más detallada de lo que realmente necesita, para saber cuál es la orientación que hay que darle a la solución.
Esperemos que lo haga pronto.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #12 (permalink)  
Antiguo 19/11/2012, 09:00
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: rellenar campos automaticamente

aaaaaaaahhhhhhhh!!!!!!!!!!!!... acabo de llegar de vuelta de un gran fds... leere todo y les aviso ^^
  #13 (permalink)  
Antiguo 20/11/2012, 12:08
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: rellenar campos automaticamente

honestamente estoy perdida con todo lo que dijeron, yo estoy recién partiendo, y casi todo lo hago por dreamweaver... miren, esto es lo que estoy haciendo, les dejo el código...

Código PHP:
<form id="form1" name="form1" method="post" action="">
  <select name="id_proveedor" id="id_proveedor" onChange="submit()">
    <option value="">Seleccione el RUT</option>
    <?php
do {  
?>
    <option value="<?php echo $row_id_rut['rut']?>"><?php echo number_format($row_id_rut['rut'], 0'''.')?>-<?php echo $row_id_rut['cv']; ?></option>
    <?php
} while ($row_id_rut mysql_fetch_assoc($id_rut));
  
$rows mysql_num_rows($id_rut);
  if(
$rows 0) {
      
mysql_data_seek($id_rut0);
      
$row_id_rut mysql_fetch_assoc($id_rut);
  }
?>
  </select>
  <input name="cv" type="text" id="cv" value="<?php echo $row_proveedores['cv']; ?>" size="3" />
<input name="proveedor" type="text" id="proveedor" value="<?php echo $row_proveedores['proveedor']; ?>" />
</form>
Como ven, la primera parte es un select dinamico que toma los datos de mysql... la idea es que al seleccionarlo me aparezca automaticamente en cv y en proveedores los datos correspondientes al rut...

me pueden guiar?
  #14 (permalink)  
Antiguo 21/11/2012, 05:02
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 7 meses
Puntos: 33
Respuesta: rellenar campos automaticamente

Hola!

A ver, básicamente lo que debatíamos era el uso de una u otra tecnología en relación con tus necesidades reales.

Es decir, si lo que necesitas es que al seleccionar el RUT se carguen los campos SIN que se recargue la página, necesitarías AJAX (no te preocupes, en el foro te pueden ayudar, es más, yo mismo te podría mostrar cómo se hace, no es demasiado dificil).

Por otra parte, si no requieres que la página inserte los datos sin refrescar, es decir, PODRÍAN rellenarse los datos recargando la pantalla, y no quieres usar AJAX, podrías hacerlo con PHP usando un sistema similar al que te comenté (también te puedo ayudar en eso).

En resumen, hemos estado debatiendo en si convenía más usar AJAX o PHP, ya que en tu primer mensaje no quedó claro si era obligatorio que se recargue la pantalla o no, y por tanto yo lo interpreté de manera diferente a gnzsoloyo.

Saludos!

PD: refrescar la pantalla, recargar la pantalla... son equivalentes a "actualizar".
  #15 (permalink)  
Antiguo 21/11/2012, 11:08
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: rellenar campos automaticamente

realmente me da lo mismo si se recarga o no la pagina, la cosa es que sea lo mas simple posible...

Sirve el codigo que les deje? o necesitas algo mas?
  #16 (permalink)  
Antiguo 22/11/2012, 01:00
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 7 meses
Puntos: 33
Respuesta: rellenar campos automaticamente

Pues si da igual el hecho de recargar o no, te recomiendo (sobretodo si acabas de empezar) es hacer algo simple con php.

Algo así sería útil:

principal.php:
Código PHP:
Ver original
  1. <?php
  2. $cv = "";
  3. $proveedor = "";
  4. $id_proveedor = "";
  5.  
  6. if(isset($_POST['rut'])){
  7.   $id_proveedor = $_POST['rut'];
  8. }
  9.  
  10. if(isset($_POST['cv'])){
  11.  $cv = $_POST['cv'];
  12. }
  13.  
  14. if(isset($_POST['proveedor'])){
  15.   $proveedor = $_POST['proveedor'];
  16. }
  17. ?>
  18. <form id="form1" name="form1" method="post" action="rellenar.php">
  19.   <select name="id_proveedor" id="id_proveedor" onchange="submit();">
  20.      <!--aquí rellenas los posibles RUT con PHP y una consulta a la base de datos-->
  21.     <!--en el bucle que hagas para rellenar el input, pon un IF para comprobar si el dato que vas a poner es el que estaba seleccionado (esto servirá para cuando recuperes los datos y vuelva a la página) comparando con $rut. Si son iguales, pon el atributo "selected" en el campo, para que se marque como seleccionado-->
  22.   </select>
  23.  
  24.    <input name="cv" type="text" id="cv" value="<?php echo($cv); ?>" size="3" />
  25. <input name="proveedor" type="text" id="proveedor" value="<?php echo($proveedor); ?>" />



rellenar.php
Código PHP:
Ver original
  1. <?php
  2. //recoges los datos CV y PROVEEDOR correspondientes al RUT seleccionado en principal, usando
  3. //la clave (RUT) enviada. Para acceder a la clave enviada usamos $_POST['id_proveedor']
  4. //guardamos los resultados en $auxCV y $auxProov
  5. ?>
  6.  
  7. <form name="auxiliar" id="auxiliar" method="post" action="principal.php">
  8.   <input type="hidden" name="rut" value="<?php echo($_POST['id_proveedor']?>" />
  9.   <input type="hidden" name="cv" value="<?php echo($auxCV); ?>" />
  10.   <input type="hidden" name="proveedor" value="<?php echo($auxProov); ?>" />
  11. </form>
  12.  
  13. <script type="text/javascript">
  14.   document.auxiliar.submit();
  15. </script>

Como ves el funcionamiento que te planteo es sencillo: cargas el formulario en principal.php.
Compruebas si tienes datos de vuelta. En caso de tenerlos, los pones en el formulario.

El select, en onchange tiene un método que hace que el formulario se envíe.

Cuando se envía, rellenar.php busca los datos correspondientes y los envía de vuelta por POST.
Al volver a principal.php, SÍ encontrará datos, y por tanto, los rellenará.


Espero que no sea demasiado complicado entenderlo... aquí en España son las 8 de la mañana y aún estoy algo dormido (y quizás me he liado)

Saludos!
  #17 (permalink)  
Antiguo 30/11/2012, 12:22
 
Fecha de Ingreso: junio-2012
Ubicación: En Chile :D
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: rellenar campos automaticamente

disculpa por la demora, pero MUUUUUUUUUCHAS GRACIAS!!!!!!!!

Etiquetas: automaticamente, campos, mysql, rellenar, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:20.