Foros del Web » Programando para Internet » PHP »

Formulario multiple con php

Estas en el tema de Formulario multiple con php en el foro de PHP en Foros del Web. hola a todos, Estoy tratando de hacer un formulario multiple en php con varios botones de enviar para cada fila de datos, pero al pulsar ...
  #1 (permalink)  
Antiguo 16/04/2013, 12:43
 
Fecha de Ingreso: noviembre-2007
Mensajes: 208
Antigüedad: 16 años, 5 meses
Puntos: 2
Formulario multiple con php

hola a todos,

Estoy tratando de hacer un formulario multiple en php con varios botones de enviar para cada fila de datos, pero al pulsar sobre cualquiera de los enviar siempre me saca los datos del ultimo boton de enviar, da igual que le da al quinto o al sexto, siempre coge el ultimo.

El nombre se lo he puesto igual para todos, pero esque he probado poniendole el nombre de un contador pero despues quiero verificar que se haya pulsado el boton para que me muestre una serie de datos y no se como hacer la condicion ya que intento poner un bucle para que me recorra todos los POST desde el 0 hasta el valor del contador pero no lo consigo.

En resumen me gustaria poder recibir el valor de cualquier fila de inputs que tengo y no solo de la ultima como me está pasando. Aqui os dejo mi codigo por si me podeis ayudar:

echo "<TR>";
echo "<TH>Nombre</TH>";
echo "<TH>Estado</TH>";
echo "<TH>Lesion</TH>";
echo "<TH>Fecha</TH>";
echo "<TH COLSPAN='2'>ALTA/BAJA</TH></TR>";

$contador=0;
while( $row = @mysql_fetch_assoc( $sele_players ) )
{

echo "<TD><INPUT TYPE='HIDDEN' NAME='nombre' VALUE='{$row['nombre']}'></TD>";

echo "<TR><TD ALIGN='CENTER'>".$row['nombre']."</TD>";
echo "<TD><SELECT NAME='estado'>";
echo "<OPTION VALUE='ok'>OK</OPTION>";
echo "<OPTION VALUE='lesionado'>Lesionado</OPTION>";
echo "<OPTION VALUE='calabera'>KO OUT</OPTION>";
echo "</SELECT></TD>";
echo "<TD><INPUT TYPE='TEXT' NAME='lesion'></TD>";
echo "<TD><INPUT TYPE='TEXT' NAME='fecha'></TD>";
echo "<TD><INPUT type='submit' NAME='$contador'></TD>";

}
echo "</FORM>";
}

for( $i = 0; $i<$contador; $i++)
{
if( !empty( $_POST['$i'] ) )
{
foreach( $_POST as $jugador => $points )
{
echo "JUGADOR ".$points;;
echo "ESTADO ".$points;
echo "LESION ".$points;
echo "FECHA ".$points;
}
}
}


Se que es un poco chapuza pero esque he probado de distintas formas y no lo consigo :S. Desde ya muchas gracias anticipadas por si podeis ayudarme.

un saludo,
  #2 (permalink)  
Antiguo 16/04/2013, 12:57
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Formulario multiple con php

recuerda que si englobas todo en un <form></form> te llegarán todos los campos de todas las filas, una buena idea es colocar corchetes a los NAME para que PHP los reconcozca como arrays:

<TD><INPUT TYPE='TEXT' NAME='lesion[]'></TD>

otro es crear un <form> por fila, pero me temo que tendrás que separar las filas en varias tablas, aunque no recuerdo si a nivel de HTML se permita (o sea recomendable) embeber un form dentro de un <TR>
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: formulario, mysql, select
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 18:13.