Foros del Web » Programando para Internet » PHP »

Recargar controles de Texto en Formulario.

Estas en el tema de Recargar controles de Texto en Formulario. en el foro de PHP en Foros del Web. Buenas Noches. DE antemano gracias por la ayuda. Tengo estos dos formularios Código PHP: <form action="modCliente.php" method="POST" enctype="multipart/form-data">    <legend>Seleccione un Cliente y Modifique sus datos</legend>       <label>          Cliente:<select name="selecCli">             <option></option>                                                 <?php                    while ( $row = ...
  #1 (permalink)  
Antiguo 02/08/2011, 18:15
 
Fecha de Ingreso: junio-2009
Ubicación: Maracaibo
Mensajes: 16
Antigüedad: 14 años, 9 meses
Puntos: 0
Recargar controles de Texto en Formulario.

Buenas Noches.
DE antemano gracias por la ayuda.

Tengo estos dos formularios
Código PHP:
<form action="modCliente.php" method="POST" enctype="multipart/form-data">
   <legend>Seleccione un Cliente y Modifique sus datos</legend>
      <label>
         Cliente:<select name="selecCli">
            <option></option>                                
               <?php
                  
while ($row=mysql_fetch_array($listado)) {
                     echo 
'<option value='
                        
.$row["idcliente"].'>'
                        
.$row["nombre"]
                        .
" "
                        
.$row["apellido"];
                   }
?>
          </select>
       </label>
    <input type="submit" name="btn_selec"value="Seleccionar"
</form>
<form action="modCliente.php" method="POST" enctype="multipart/form-data">
   <br/>
   <fieldset id="formulario">
      <legend>Modifique los datos del Cliente</legend>
         <?php include "formClientes.php";?>
    </fieldset>
 <input type="submit" name="btn_submit"value="Modificar"
</form>
Cuando le doy clic al Select trabja sin problemas.
Pero no hallo la manera de cargar la data en los controles del 2do formulario.

Esta es la validacion que estoy haciendo
Código PHP:
if(isset($_POST['btn_selec'])){
      
//print_r($_REQUEST['selecCli']);
      
$query3 "SELECT * FROM clientes_p 
      WHERE idcliente="
.$_REQUEST['selecCli'];
      
confirm_query($query3);
      
$dataCliente=mysql_query($query3$conexionBD);
      if(!empty(
$dataCliente)){
          while(
$row=mysql_fetch_array($dataCliente)){
              
//Aqui debo cargar los controles!
          
}
        } 
  } 
y este es el codigo del formulario formClientes.php
Código PHP:
<?php 
    
if(isset($row)){
        
$valNombre $row[3];
        
$valApellido $row[4];
        
$valZona $row[2];
    }else {
        
$valNombre "";
        
$valApellido "";
        
$valZona "";
    }
?>  
  <label>
   Nombre:<input type="text" name="nombreCli" 
       value="<?php echo $valNombre;?>" size="25">*<br/>
  </label>
  <label>
   Apellido:<input type="text" name="apellidoCli" 
      value="<?php echo $valApellido;?>" size="25" />*<br/>
  </label>
  <label>
   Zona:<input type="text" name="zonaCli" 
      value="<?php echo $valZona;?>" size="25" />*<br/>
  </label>
La verdad no se si es algo sencillo, o si lo estoy enfocando de mala manera.
Escucho criticas.
  #2 (permalink)  
Antiguo 02/08/2011, 18:34
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 15 años, 7 meses
Puntos: 26
Respuesta: Recargar controles de Texto en Formulario.

A ver si entendi, vos seleccionas un cliente y queres que te aparezca automáticamente un form para modificar los datos de ese cliente que elegiste?. Si es así, como lo estas haciendo no es la manera. Leete algo de Ajax, la librería xAjax para PHP te hará las cosas más simples.
Saludos.
  #3 (permalink)  
Antiguo 02/08/2011, 18:41
 
Fecha de Ingreso: junio-2009
Ubicación: Maracaibo
Mensajes: 16
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recargar controles de Texto en Formulario.

Gracias. es exactamente lo que quiero.
Me pasaje por AJAX.

y desde tu opinion cual seria la forma de enfocar este problema desde PHP?
  #4 (permalink)  
Antiguo 03/08/2011, 04:57
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 15 años, 7 meses
Puntos: 26
Respuesta: Recargar controles de Texto en Formulario.

Cita:
Iniciado por Oscar_Olivera Ver Mensaje
Gracias. es exactamente lo que quiero.
Me pasaje por AJAX.

y desde tu opinion cual seria la forma de enfocar este problema desde PHP?
Mirá, yo siempre que necesité de usar Ajax, al no saber demasiado de javascript usé una librería escrita en PHP para utilizar Ajax. Esta librería se llama xAjax y es muy buena.

Web: http://www.xajax-project.org/
Uso: http://www.xajax-project.org/en/docs...in-10-minutes/

La idea es que generes mediante xAjax el formulario de modificación según el usuario que elegiste en el select. No es muy complicado.
Ya nos contarás tu experiencia.
Saludos.

PD: Te dejo el enlace a un código que hice con xAjax. Es un select dependiente, es decir en base a la opción de uno se genera el otro. Lamentablemente no encuentro el código SQL de la bd y no lo podrás ver en funcionamiento, pero te servirá ver el código.
http://www.mediafire.com/?fd1vgcidzclsq2f

Última edición por ramiro_md; 03/08/2011 a las 05:06
  #5 (permalink)  
Antiguo 03/08/2011, 05:20
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Recargar controles de Texto en Formulario.

Si se puede hacer con PHP, con la salvedad que con PHP la página se te recargará cuando le des al botón de enviar del select y con ajax, no se recarga la página, sólo la zona del formulario.

Según veo tu código, está todo bastante bien, me da que el problema es más de dónde tienes ese código. Indícame qué ficheros tienes y qué código tiene cada uno de lo que has puesto ahí arriba, porque estoy bastante seguro de que se trata de eso.

Tienes dos form en la misma página y, por lo tanto, tienes que tratar al menos el primero también en la misma página. Creo que no lo tienes así. Es decir, el action del primer form debería ser la misma página y, dentro deberías tratar dicho form e imprimir sólo el segundo si el segundo se rellenó. Sería algo así (todo en la página modCliente.php):
Código PHP:
Ver original
  1. <form action="modCliente.php" method="POST" enctype="multipart/form-data">
  2.    <legend>Seleccione un Cliente y Modifique sus datos</legend>
  3.       <label>
  4.          Cliente:<select name="selecCli">
  5.             <option></option>                                
  6.                <?php
  7.                   while ($row=mysql_fetch_array($listado)) {
  8.                      echo '<option value='
  9.                         .$row["idcliente"].'>'
  10.                         .$row["nombre"]
  11.                         ." "
  12.                         .$row["apellido"];
  13.                    }?>
  14.           </select>
  15.        </label>
  16.     <input type="submit" name="btn_selec"value="Seleccionar"
  17. </form>
  18. <?php
  19. // Hasta aquí se imprimirá siempre el primer formulario. Una vez elijas una opción
  20. // del select y pulses enviar, se enviará por $_POST a la misma página, luego el
  21. // segundo formulario sólo se imprimirá si ya se ha enviado el primero:
  22. if(isset($_POST['btn_selec'])){
  23.       //print_r($_REQUEST['selecCli']);
  24.       // No pongas nunca cadenas troceadas en varias líneas PHP, te pueden dar problema, o todo en una o concatena:
  25.       $query3 = "SELECT * FROM clientes_p";
  26.       $query3 .= " WHERE idcliente=" . $_REQUEST['selecCli'];
  27.       confirm_query($query3);
  28.       $dataCliente=mysql_query($query3, $conexionBD);
  29.       if(!empty($dataCliente)){
  30.           while($row=mysql_fetch_array($dataCliente)){
  31. ?>
  32. <form action="aquí pones el PHP que trate el formulario de edición" method="POST" enctype="multipart/form-data">
  33.    <br/>
  34.    <fieldset id="formulario">
  35.       <legend>Modifique los datos del Cliente</legend>
  36.          <?php include "formClientes.php";?>
  37.     </fieldset>
  38.  <input type="submit" name="btn_submit"value="Modificar"
  39. </form>
  40. <?php
  41.           }
  42.         }
  43.   }
  44. ?>

Espero que con eso te valga, un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #6 (permalink)  
Antiguo 03/08/2011, 06:26
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 15 años, 7 meses
Puntos: 26
Respuesta: Recargar controles de Texto en Formulario.

Cita:
Iniciado por vgonga1986 Ver Mensaje
Si se puede hacer con PHP, con la salvedad que con PHP la página se te recargará cuando le des al botón de enviar del select y con ajax, no se recarga la página, sólo la zona del formulario.
Exacto, pequeña salvedad
  #7 (permalink)  
Antiguo 03/08/2011, 11:40
 
Fecha de Ingreso: junio-2009
Ubicación: Maracaibo
Mensajes: 16
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recargar controles de Texto en Formulario.

Entiendo, y me parece sensato. Cargar los datos solo si se escoje a un cliente.
Muy agradecido.

Con respecto a AJAX, tomare en cuenta la sugerencia, ahora estoy trabajando en este sitio solo con PHP pero pretendo ir avanzando con otras herramientas a medida que el sitio vaya creciendo.

Saludos y gracias
  #8 (permalink)  
Antiguo 03/08/2011, 14:21
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Recargar controles de Texto en Formulario.

Te funcionó lo que te recomendé? Supongo que si, pero me queda la duda con tu mensaje. Si tienes algún problema, coméntamelo.

En cuanto a AJAX, te recomiendo encarecidamente que le eches un ojo, yo no lo había usado nunca y ya estoy dando mis primeros pasos. Si conoces JavaScript es realmente sencillo y da mucho de sí. Te recomiendo este manual, está muy clarito y vienen ejemplos y demás.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #9 (permalink)  
Antiguo 03/08/2011, 15:29
 
Fecha de Ingreso: junio-2009
Ubicación: Maracaibo
Mensajes: 16
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recargar controles de Texto en Formulario.

vgonga1986. Si, utilice tu enfoque. y me sirvio bastante bien, de nuevo gracias.
Y creeme que si te tome la palabra con el Ajax. Lo voy a usar. Como tengo fecha de entrega para finales de octubre de este prototipo luego de eso le pongo el ojo.

saludos

Etiquetas: formulario
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 01:37.