Foros del Web » Programando para Internet » PHP »

Guardar datos dinamicos

Estas en el tema de Guardar datos dinamicos en el foro de PHP en Foros del Web. hola espero me puedan ayudar, tengo un problema con un formulario dinamico, lo que pasa es que mando a llamar los datos a través de ...
  #1 (permalink)  
Antiguo 13/08/2011, 18:48
 
Fecha de Ingreso: febrero-2011
Mensajes: 19
Antigüedad: 13 años, 2 meses
Puntos: 0
Guardar datos dinamicos

hola espero me puedan ayudar, tengo un problema con un formulario dinamico, lo que pasa es que mando a llamar los datos a través de un consulta sql donde esos datos se tiene que guardar en otra tabla con datos adicionales, solo me guarda el ultimo registro dinamico que se da en el diseño.
este es mi formulario uno

<html>
<title> </title>
<head> </head>
<body>
<form method="post" name="form1" action="for_indicadores4.php">

<table align="center">
<tr>
<td width="30" rowspan="3" align="center" class="diseno">No</td>
<td width="97" rowspan="3" align="center" class="diseno">No. Control</td>
<td width="137" rowspan="3" align="center" class="diseno">Nombre Completo</td>
<td class="diseno" align="center" colspan="2">Semestre</td>
<td width="128" rowspan="3" align="center" class="diseno">Actividad <br />
Estracurricula</td>
<td width="185" rowspan="3" align="center" class="diseno">Observaciones</td>
</tr>

<tr>
<td class="diseno" align="center" colspan="2"> <input name="semestre_t" class="diseno" type="text" align="baseline"/>
&nbsp;</td>
</tr>
<tr>
<td width="55" align="center" class="diseno"> Estado </td>
<td width="140" align="center" class="diseno">Promedio</td>
</tr>

<?php
extract($_POST);
include "conexion.php";
$query = "select t.*, g.Id_Grupo, g.Clave_Tutor
from tutorado_general as t, grupo as g where t.Clave_Tutor = g.Clave_Tutor
and g.Id_Grupo='$grupo'";
$res = mysql_query($query, $con) or die(mysql_error());
$total=0;
while ($fila = mysql_fetch_array($res)){
extract($fila);
if($color==0){
$bgcolor ="#FFFFFF";
$color=1;
}else{
$bgcolor = "FFFF99";
$color=0;
}
echo "<tr bgcolor='$bgcolor'> <td aling='center'>".++ $total."</td>
<td><input name='control' type='text' value='$No_Control'/> </td>
<td> $Nombre_Tutorado $Apellido_P $Apellido_M </td>
<td>" .$select. "</td>";
?>
<td><select name="promedio" >
<option value="0"> Selecciona </option>
<option value="60"> 60 </option>
<option value="70"> 70 </option>
<option value="80"> 80 </option>
<option value="90"> 90 </option>
<option value="100"> 100 </option></select>
</td>
<?php
echo "<td><input name='actividad' type='text'/></td>
<td><input name='observaciones' type='text'/></td></tr>";

}
echo "<tr>
<td colspan='3'> Total de alumnos activos </td>
<td> $total </td>
</tr>";
?>
</table>

<p align="center">
<label for="button"></label>
<input type="submit" name="button" id="button" value="Guardar" />
</p>
</form>
</body>
</html>

mi segundo fromulario que es codigo en php


<?php
include "conexion.php";
$fecha=date('Y/m/d');
extract($_POST);
$semestre="semestre_t";
if ($$semestre ==0){
echo "<script languaje='javascript'> alert (' Falta inserta semestre'); location= 'for_indicadores2.php'; </script>";
}

elseif ($$semestre == 1){
$query1 = "insert into indicador1 (No_Control, estado, promedio1, actividad, observacion, semestre, fecha1) values('$control','$estado','$promedio','$activida d','$observacion','$semestre_t','$fecha')";
mysql_query($query1, $con) or die (mysql_error());
echo "<script languaje='javascript'> alert('Registro insertado correctamente'); location='tutor1.php'; </script>";
}
?>

espero me puedan decir como guardar todos los registros y no nada mas el ultimo
  #2 (permalink)  
Antiguo 14/08/2011, 20:19
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Guardar datos dinamicos

Bueno, resulta que estas creando una serie de campos y en cada pasada del while les asignas exactamente el mismo nombre, lo que el navegador hace es enviar solo el ultimo.

Podrias agregar corchetes al final de cada campo, de manera que sean tratados como array:

<input type="text" name="campo_multiple[]" value="Valor inicial" />

Cuando proceses el formulario en PHP:
Código PHP:
Ver original
  1. // Recorres todos los elementos disponibles
  2. for($i = 0; $i < count($_POST['campo_multiple']); $i++) {
  3.     // Tomas el valor del campo
  4.     $variable = $_POST['campo_multiple'][$i];
  5.     // Aqui lo verificas y/o insertas en la base de datos
  6. }

En el mismo for puedes incluir los otros campos.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 16/08/2011, 18:09
 
Fecha de Ingreso: febrero-2011
Mensajes: 19
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Guardar datos dinamicos

Muchas gracias tu ayuda me sirvio mucho,

Etiquetas: dinamicos, html, mysql, registro, sql, tabla, 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 17:45.