Foros del Web » Programando para Internet » PHP »

acceso a los elementos de un formulario en bucle

Estas en el tema de acceso a los elementos de un formulario en bucle en el foro de PHP en Foros del Web. Hola, tengo un serio problema (o eso creo :) ), bueno, tengo una tabla de visualización con 4 columnas, la 1ª un nombre de asignatura, ...
  #1 (permalink)  
Antiguo 08/06/2002, 05:09
 
Fecha de Ingreso: mayo-2002
Mensajes: 88
Antigüedad: 21 años, 10 meses
Puntos: 0
acceso a los elementos de un formulario en bucle

Hola, tengo un serio problema (o eso creo :) ), bueno, tengo una tabla de visualización con 4 columnas, la 1ª un nombre de asignatura, la 2ª fecha, la 3ª lugar y la 4ª es para seleccionar las filas que quiero actualizar. Pues bien, los campos de visualización son editables, es decir, que son inputs de un formulario, cuyo resultado inicial procede de una base de datos, y si en su fila se selecciona el campo checkbox correspondiente hay que insertar los datos que se hayan introducido en la base de datos.

Os pongo el código del bucle pq es un poco lioso:

foreach ($vectorNom as $aux)
{ $marca = false;?>
<tr><?
$queryC = odbc_exec($con, "SELECT fecha_examen,lugar_examen FROM asignaturas_examenes WHERE (id_examen=$examen) AND (id_asignatura=$vectorAsig[$aux]) AND (anio=$anio)");?>
<td><?echo $aux;?></td><?

while (odbc_fetch_row($queryC))
{ $marca = true;?>
<td><input type="text" name="fecha" size="15" maxlength="8" value="<?echo odbc_result($queryC,1);?>"></td>
<td><input type="text" name="lugar" size="15" maxlength="200" value="<?echo odbc_result($queryC,2);?>"></td>
<td><input type="checkbox" name="cambia">
<?}
if ($marca == false)
{?>
<td><input type="text" name="fecha" size="15" maxlength="8" value=""></td>
<td><input type="text" name="lugar" size="15" maxlength="200" value=""></td>
<td><input type="checkbox" name="cambia"> <?
}?>
</tr> <?
} /* foreach */?>

Pues como los campos del input se llaman igual cada vez, no se como puedo acceder a cada uno de ellos según el valor que tenga ¿podría solucionarse con un name variable??, es que me parece muy chapuzas, bueno, muchas gracias por adelantado, a ver si me podeis ayudar
  #2 (permalink)  
Antiguo 08/06/2002, 21:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: acceso a los elementos de un formulario en bucle

Un checkbox (y un selecmultiple) de HTML .. genera un array ...

Tendras que llamar a tus variables del checbox:
<... name "nombre[]" ...>
(con corchetes ..)

Al otro "lado" (en el script que recojas la informacion) .. tendras el array "nombre" .. asi que lo puedes recorrer con un foreach o cualquier otro tipo de bucle.

Un saludo,
  #3 (permalink)  
Antiguo 08/06/2002, 21:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: acceso a los elementos de un formulario en bucle

Para complemetar .. te remito a este mensaje el cual se respondio la solucion:

<a href='ir.asp?http://www.forosdelweb.com/mensaje.asp?id=82991' target='_blank'>http://www.forosdelweb.com/mensaje.asp?i...</a>

pd: observa que ademas de crear el &quot;name&quot; tienes q darle un &quot;value&quot; ..

Un saludo,
  #4 (permalink)  
Antiguo 10/06/2002, 09:22
 
Fecha de Ingreso: mayo-2002
Mensajes: 88
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: acceso a los elementos de un formulario en bucle

Muchas gracias cluster, me quedó claro como tratar los checkbox, pero ¿a los imput de tipo text también se les trata de la misma forma,??, es decir, si también generan un array y puedo ponerles de name un array para luego acceder a ellos.

Muchas gracias por adelantado, es que desde ayer no puedo probar nada porque el servidor donde trabajo está caído
  #5 (permalink)  
Antiguo 10/06/2002, 10:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: acceso a los elementos de un formulario en bucle

Un &quot;imput text&quot; . o cualquier otro objeto HTML de formulario (salvo los indicados checkbox y selecmultiple) .. solo entregan un string simple ...

Solo el chekbox y selecmultiples entregan un array y en el mensaje que se hacia referencia se describe como acceder a cada uno de los elementos del mismo.

Para los demas .. solo tienes que recogerlos por su &quot;name&quot; (nombre) .. por alguno de estos metodos:
$nombre
$_POST['nombre']
$HTTP_POST_VARS['nombre']

.. el primer caso depende de si tu servidor tiene la directiva registre_globals = on . Siendo mas seguro acceder a las variables que entregas de un formulario por sus arrays asociados ($HTTP_ ... en verisiones inferiores a PHP 4.1 .. y $_POST (o GET) en versiones superiores de PHP).

Te remito al manual de PHP para q leas algo mas sobre el tema ..
<a href='ir.asp?http://www.php.net/manual/es' target='_blank'>www.php.net/manual/es...</a>

Un saludo,
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 20:58.