Foros del Web » Programando para Internet » PHP »

Un formulario cuya cantidad de $_POST's es dinamica...

Estas en el tema de Un formulario cuya cantidad de $_POST's es dinamica... en el foro de PHP en Foros del Web. Hola a todos! Estoy intentando resolver la siguiente cuestion... Tengo un formulario donde la cantidad de campos de texto que se crean depende de una ...
  #1 (permalink)  
Antiguo 22/03/2006, 20:17
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 13 años
Puntos: 2
Pregunta Un formulario cuya cantidad de $_POST's es dinamica...

Hola a todos!

Estoy intentando resolver la siguiente cuestion...

Tengo un formulario donde la cantidad de campos de texto que se crean depende de una tabla de MySQL... es decir, hago un query y levanto TODO (máximo 5 registros), luego con un for voy creando los campos de texto y sus titulos.

El usuario modifica el valor de estos campos y le da "ENVIAR". Al enviarse el formulario se envia la variable $i del for, para que el script que ACTUALIZA sepa cuantos campos hay, pero intente ciertamente unas cuantas ideas diferentes y no lo logro no encuentro una forma practica de hacerlo, es la primera vez que trabajo con un formulario dinamico.

Venia creando algo asi:

(for $i = 0; $i <= $_POST['numero_campos']; $i++) {
$sql = "update mi_tabla set titulo = '".$_POST['??']."' where id_registro ='".$_POST['id']."'";
}

los "???" significan:

Durante la creacion del formulario se me ocurrio poner en cada <input> el nombre asi: " echo <input type='text' name='titulo_".$i."' value="... /> "
Pero el problema es que ese rebusque no lo pude utilizar en $SQL...

¿Como se resuelve comunmente esta clase de situaciones?

Desde ya, gracias a quien pueda ayudarme.
  #2 (permalink)  
Antiguo 22/03/2006, 20:30
 
Fecha de Ingreso: abril-2005
Ubicación: zürich, la rica suiza
Mensajes: 212
Antigüedad: 12 años, 7 meses
Puntos: 2
hola!

entendi esto: tienes una tabla con diferentes fields, con por ejemplo nombre y hay hasta 5 nombres metidos no? y quieres que aparescan 5 forms


yo haria algo asi

<?

//conexion bla bla

$query = "SELECT nombre FROM datos";
$result = mysql_query($query);
$filas = mysql_num_rows($result);


for($i = 0; $i < $filas; $i++){
print '<input type="text" name="'.$i.'"><br>';
}
?>

tu for estaba mal hecho, va por afuera :P.

ojala te sirva, chauu
  #3 (permalink)  
Antiguo 22/03/2006, 20:31
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 13 años
Puntos: 43
Hola Computer XTress!

Si vas a tener un número variable de campos en tu formulario, lo mejor sería que utilizaras el bucle foreach, por ejemplo:

Código:
foreach($_POST as $campo => $valor){
     //aquí todos tus instrucciones.   
}
Una cosa que debes de tomar en cuenta, es que durante el bucle se capturaría también el valor del botón que se encarga de mandar la información, lo podrías omitir de la siguiente forma:

Código:
foreach($_POST as $campo => $valor){
    if($campo != 'Submit'){
     //aquí todos tus instrucciones.  
   }
}
También podrías utilizar el bucle for como lo has hecho pero con la ligera diferencia que deberías obtener el tamaño del arreglo $_POST en el condicional.

Un saludo y suerte!
  #4 (permalink)  
Antiguo 23/03/2006, 09:43
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 13 años
Puntos: 2
exelente jahepi !!!!!! es lo que necesitaba, MIL GRACIAS :)

Yo sabia que ese "Foreach" me iba a servir para algo algun dia :D
  #5 (permalink)  
Antiguo 23/03/2006, 09:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.547
Antigüedad: 15 años, 8 meses
Puntos: 1262
Hola:

Bueno, yo uso más o menos los formularios de esa manera, y para no preocuparme del submit, no le doy atributo name.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 23/03/2006, 11:01
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 13 años
Puntos: 43
Hola Caricatos!

No se me había ocurrido esa solución para evitarte el paso del botón submit al arreglo post , gracias por el tip!

Un saludo y suerte!
  #7 (permalink)  
Antiguo 23/03/2006, 11:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Yo usaría la técnica de crear elementos del formulario como "array" .. así evito todo tipo de problemas y obtengo un código más ordenado.

http://www.forosdelweb.com/showthrea...710#post518710

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 10:59.