Foros del Web » Programando para Internet » PHP »

Es posible hacer un form dentro de un while?

Estas en el tema de Es posible hacer un form dentro de un while? en el foro de PHP en Foros del Web. Hola tengo un pequeño problema, hice un formulario para modificar los datos en mysql el problema es que el formulario funciona si no lo pongo ...
  #1 (permalink)  
Antiguo 23/04/2010, 17:30
Avatar de asambleas  
Fecha de Ingreso: abril-2010
Mensajes: 11
Antigüedad: 14 años
Puntos: 0
Es posible hacer un form dentro de un while?

Hola tengo un pequeño problema, hice un formulario para modificar los datos en mysql el problema es que el formulario funciona si no lo pongo dentro del while pero cuando aplico el while el boton no me redirecciona a la pagina que aplica la funcion de cambio¿por que será? ayuda please!!!



<form id="form2" name="form2" method="post" action="modificar_contenido.php">
<?php while ($row=mysql_fetch_row($result))
{ ?>
<table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<td align="right" class="style5">
<input name="id" type="hidden" id="id" value=<?php echo $row[0] ?> />
<input name="tabla" type="hidden" id="tabla" value=<?php echo $nombre_tabla; ?> />
Fecha</td>
<td><input name="fecha" type="text" id="fecha" value=<?php echo $row[1] ?> /></td>
</tr>
<tr>
<td align="right" class="style5">Titulo</td>
<td><input name="titulo" type="text" id="titulo" value=<?php echo $row[2] ?> /></td>
</tr>
<tr>
<td align="right" class="style5">Título Español</td>
<td><input name="tituloes" type="text" id="tituloes" value=<?php echo $row[3] ?> /></td>
</tr>
<tr>
<td align="right" class="style5">Foto</td>
<td><input name="foto" type="text" id="foto" /></td>
</tr>
<tr>
<td align="right" class="style5">Nombre</td>
<td><input name="nombre" type="text" id="nombre" value=<?php echo $row[5] ?> /></td>
</tr>
<tr>
<td align="right" class="style5">Nombre español</td>
<td><input name="nombrees" type="text" id="nombrees" value=<?php echo $row[6] ?> /></td>
</tr>
<tr>
<td align="right" class="style5">Comentario</td>
<td><textarea name="comentario" cols="30" rows="3"><?php echo $row[7] ?></textarea></td>
</tr>
<tr>
<td align="right" class="style5">Comentario Español</td>
<td><textarea name="comentarioes" cols="30" rows="3"><?php echo $row[8] ?></textarea></td>
</tr>
<tr align="right" class="style5">
<td colspan="2" align="center"><input name="modificar2" type="button" value="Modificar" /></td>
</tr>
</table></form>;<br><br>
<?php }
  #2 (permalink)  
Antiguo 23/04/2010, 17:51
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Es posible hacer un form dentro de un while?

Para hacer eso no necesitas el while, por otro lado estás metiendo el cierre del form dentro del while.
Código PHP:
<form id="form2" name="form2" method="post" action="modificar_contenido.php">
<?php $row=mysql_fetch_array($result); ?>
<table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<td align="right" class="style5">
<input name="id" type="hidden" id="id" value=<?php echo $row[0?> />
<input name="tabla" type="hidden" id="tabla" value=<?php echo $nombre_tabla?> />
Fecha</td>
<td><input name="fecha" type="text" id="fecha" value=<?php echo $row[1?> /></td>
</tr>
<tr>
<td align="right" class="style5">Titulo</td>
<td><input name="titulo" type="text" id="titulo" value=<?php echo $row[2?> /></td>
</tr>
<tr>
<td align="right" class="style5">Título Español</td>
<td><input name="tituloes" type="text" id="tituloes" value=<?php echo $row[3?> /></td>
</tr>
<tr>
<td align="right" class="style5">Foto</td>
<td><input name="foto" type="text" id="foto" /></td>
</tr>
<tr>
<td align="right" class="style5">Nombre</td>
<td><input name="nombre" type="text" id="nombre" value=<?php echo $row[5?> /></td>
</tr>
<tr>
<td align="right" class="style5">Nombre español</td>
<td><input name="nombrees" type="text" id="nombrees" value=<?php echo $row[6?> /></td>
</tr>
<tr>
<td align="right" class="style5">Comentario</td>
<td><textarea name="comentario" cols="30" rows="3"><?php echo $row[7?></textarea></td>
</tr>
<tr>
<td align="right" class="style5">Comentario Español</td>
<td><textarea name="comentarioes" cols="30" rows="3"><?php echo $row[8?></textarea></td>
</tr>
<tr align="right" class="style5">
<td colspan="2" align="center"><input name="modificar2" type="button" value="Modificar" /></td>
</tr>
</table></form><br><br>
__________________
Tu álbum de cromos online!!
  #3 (permalink)  
Antiguo 23/04/2010, 17:59
Avatar de De_la_Cuesta_13  
Fecha de Ingreso: abril-2009
Ubicación: Cali, Colombia.
Mensajes: 265
Antigüedad: 15 años
Puntos: 14
Respuesta: Es posible hacer un form dentro de un while?

Pues no veo la necesidad de que hagas el formulario dentro del while, sólo deberías utilizar éste para recoger los valores que vas a poner en los campos. Porqué no pruebas, recogiendo en variables (dentro del while), para que luego (después del while) asignas esas variables a tu formulario. Además deberías poner el value con comillas.
No se si me he hecho entender xD.
__________________
Sólo quien nunca nada hace, nunca se equivoca.
  #4 (permalink)  
Antiguo 23/04/2010, 18:21
Avatar de asambleas  
Fecha de Ingreso: abril-2010
Mensajes: 11
Antigüedad: 14 años
Puntos: 0
Respuesta: Es posible hacer un form dentro de un while?

gracias por sus respuestas, pero lo que pasa es que existen mas de 2 contenidos (id) diferentes y si no lo hago con while, me muestra solo el primer contenido. cambie el form fuera del while y tampoco me funciona. y las comillas en value, poniendolo o no poniendolo me muestra el contenido inicial.
  #5 (permalink)  
Antiguo 24/04/2010, 02:26
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Es posible hacer un form dentro de un while?

Cita:
Iniciado por asambleas Ver Mensaje
gracias por sus respuestas, pero lo que pasa es que existen mas de 2 contenidos (id) diferentes y si no lo hago con while, me muestra solo el primer contenido. cambie el form fuera del while y tampoco me funciona. y las comillas en value, poniendolo o no poniendolo me muestra el contenido inicial.
Pero aunque pongas el form dentro del while te mostrará solo una id, la última del recorrido.
Lo que si se puede es crear un while para que inserte datos en un select.

Si lo que quieres es mostrar una id en concreto debes usar una condición en la consulta:

ej.
Código PHP:
$sql="select * from tu_tabla where id=$tu_id"
__________________
Tu álbum de cromos online!!

Etiquetas: posible, 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:14.