Foros del Web » Programando para Internet » PHP »

recolectar información generada en un formulario de campos dinàmicos

Estas en el tema de recolectar información generada en un formulario de campos dinàmicos en el foro de PHP en Foros del Web. A partir de la consulta a la base de datos: Código PHP: $sql = "select * from encuestas_modelospreguntas" ; $result = mysql_query ( $sql ); while( $preg  =  ...
  #1 (permalink)  
Antiguo 25/06/2008, 13:08
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
recolectar información generada en un formulario de campos dinàmicos

A partir de la consulta a la base de datos:

Código PHP:
$sql="select * from encuestas_modelospreguntas";
$result=mysql_query($sql);
while(
$preg mysql_fetch_array($result))
{
$pregunta=$preg['pregunta'];
echo 
"<p>".$preg['pregunta']."</p>
<select name=\""
.$row['pregunta']."\">
<option value=\"\" selected=\"selected\">Seleccione</option>"
;
$sql2="select * from encuestas_modelosrespuestas where id_pregunta=".$preg['id'];
$result2=mysql_query($sql2);
while(
$resp mysql_fetch_array($result2))
{
echo 
"<option value=\"$pregunta:".$resp['respuesta']."\" selected=\"selected\">".$resp['respuesta']."</option>
"
;
}

echo 
"</select>
"
;

se genera un formulario. ¿Alguna idea de cómo hago para tomar tooodas las variables que se generen dinámicamente al procesar el formulario? porque los nombres para cada select van a estar dados por las preguntas, y las preguntas varían en cada caso... ¿con qué método podría recolectarlas?
Necesito que toda esa información se acumule en una sola variable para archivar en un campo de otra tabla en la db.
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #2 (permalink)  
Antiguo 25/06/2008, 15:15
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 21 años, 3 meses
Puntos: 10
Respuesta: recolectar información generada en un formulario de campos dinàmicos

Si el formulario va por POST, todas las variables estarán en $_POST; idem com GET y $_GET.

Para meterlas todas en una única variable, una forma burda y que tendrá algún detallito que corregir es usar implode.
  #3 (permalink)  
Antiguo 25/06/2008, 18:23
isra00
Invitado
 
Mensajes: n/a
Puntos:
Mensaje Respuesta: recolectar información generada en un formulario de campos dinàmicos

Cita:
Iniciado por jariza Ver Mensaje
Para meterlas todas en una única variable, una forma burda y que tendrá algún detallito que corregir es usar implode.
O serializar, que suele ser más sencillo. Existen librerías para serializar en JavaScript, como WDDX (http://academy.bhtafe.edu.au/hwiebel...alize_htm.html). (Para des-serializar, usa la función nativa de PHP).

De todos modos, y sin entender del todo tu problema, normalmente suele haber soluciones más "limpias" que meter todo el contenido del array en una variable de texto. Puedes incluir arrays de controles de formulario añadiéndole corchetes al nombre, u otros métodos.
  #4 (permalink)  
Antiguo 27/06/2008, 08:00
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: recolectar información generada en un formulario de campos dinàmicos

jariza, isra00, muchas gracias por la respuesta. Mi problema es el siguiente.
tengo un formulario cuyos campos se generan dinámicamente desde la base de datos.
Entonces entre <form...> y </form> voy a tener una cantidad de inputs que varían en cada caso, dependiendo de una id.
normalmente, cuando paso las variables de una página a otra por un form, para verlas hago
Código PHP:
<? echo $nombrevariable?>
pero resulta que aquí, no sé cuáles van a ser los nombres de esas variables, porque se generan dinámicamente.

Según se explica la función implode, he intentado

Código PHP:
 $array = array($_POST);
$separado_por_comas implode(","$array);

echo 
$separado_por_comas
pero me devuelve por valor "array"... y no pasa nada.
¿algua sugerencia?
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #5 (permalink)  
Antiguo 27/06/2008, 08:12
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: recolectar información generada en un formulario de campos dinàmicos

Ah! lo solucioné así:

Código PHP:
echo implode ("<br/>"$_POST); 
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #6 (permalink)  
Antiguo 16/07/2008, 06:44
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: recolectar información generada en un formulario de campos dinàmicos

otra duda: porque el post me recoge todos los datos pero me incluye un par de campos hidden, que no quisiera que esten y el "Submit" con su valor "enviar". ¿Cómo podría sacar estos valores?
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #7 (permalink)  
Antiguo 16/07/2008, 09:38
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 21 años, 3 meses
Puntos: 10
Respuesta: recolectar información generada en un formulario de campos dinàmicos

Una solución sería usar unset:
unset($_POST['Submit'])
unset($_POST['campoquenoquieresqueaparezca'])
  #8 (permalink)  
Antiguo 16/07/2008, 12:43
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: recolectar información generada en un formulario de campos dinàmicos

funcionó! excelente, muchas gracias.
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
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 21:59.