Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Insertar varias filas en una Tabla mediante Formulario

Estas en el tema de Insertar varias filas en una Tabla mediante Formulario en el foro de PHP en Foros del Web. Buenas, Estoy queriendo lograr que mediante un formulario inserte varias filas en una tabla. Pero el problema que estoy teniendo es que solo me agrega ...
  #1 (permalink)  
Antiguo 05/04/2015, 16:08
 
Fecha de Ingreso: enero-2013
Mensajes: 64
Antigüedad: 11 años, 3 meses
Puntos: 0
Insertar varias filas en una Tabla mediante Formulario

Buenas,

Estoy queriendo lograr que mediante un formulario inserte varias filas en una tabla. Pero el problema que estoy teniendo es que solo me agrega la ultima fila, osea de tres filas sólo me agrega una que es la última.

El código que utilizo para insertar es:

Código PHP:
    $sql "INSERT INTO apuestas (ID_Partido, fecha_hora, numero_fecha, numero_partido, LOCAL, Visitante, ID_usuario, usuario, aposto)";
   
$sql.= "VALUES ('".$ID_Partido."','".$fecha_hora."', '".$numero_fecha."', '".$numero_partido."', '".$Local."', '".$Visitante."', '".$ID_usuario."', '".$usuario."', '".$aposto."')";

    
mysql_query($sql$conexion); 
Y el formulario:
Código PHP:
 <form method="post" id="frEmpresa" action="inicio.php">
<?php while ($rsEmp mysql_fetch_assoc($queEmp)) { ?>
  <tr>
    <td>
    <input type="text" id="ID_Partido" name="ID_Partido"/></td>
    <td>
    <input name="fecha_hora" type="text" id="fecha_hora" value="<?php echo $rsEmp['fecha_hora']; ?>" /></td>
    <td>
    <input type="text" id="numero_fecha" name="numero_fecha" value="<?php echo $rsEmp['numero_fecha']; ?>"/></td>
    <td>
    <input type="text" id="numero_partido" name="numero_partido" value="<?php echo $rsEmp['numero_partido']; ?>" /></td>
    <td>
    <input type="text" id="Local" name="Local" value="<?php echo $rsEmp['Local']; ?>"/></td>
    <td>
    <input type="text" id="Visitante" name="Visitante" value="<?php echo $rsEmp['Visitante']; ?>"/></td>
    <td>
    <input type="text" id="ID_usuario" name="ID_usuario" value="<?php echo $_SESSION['usuario_id'?>"/></td>
    <td>
    <input type="text" id="usuario" name="usuario" value="<?php echo $_SESSION['usuario_login'?>"/></td>
    <td>
    <input type="text" id="aposto" name="aposto" /></td>
    </tr>
     <?php ?>
           <tr>
    <td><label for="bts">&nbsp;</label>
    <button type="submit">Guardar</button>
    <button type="reset">Limpiar</button>
</form>
  </tr>
Por ejemplo si completo el formulario con:
1 texto1a texto1b texto1c
2 texto2a texto2b texto2c
3 texto3a texto3b texto3c

Solamente en la base de datos me aparecerá:
3 texto3a texto3b texto3c
  #2 (permalink)  
Antiguo 05/04/2015, 16:15
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Insertar varias filas en una Tabla mediante Formulario

los names de los inputs deberian ser por ejemplo asi:
ID_Partido[]
  #3 (permalink)  
Antiguo 06/04/2015, 05:43
 
Fecha de Ingreso: enero-2013
Mensajes: 64
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Insertar varias filas en una Tabla mediante Formulario

Cita:
Iniciado por truman_truman Ver Mensaje
los names de los inputs deberian ser por ejemplo asi:
ID_Partido[]
Muchas gracias. Intente con tu ejemplo pero no hubo solución, seguire probando.

Saludos.
  #4 (permalink)  
Antiguo 06/04/2015, 06:40
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 2 meses
Puntos: 8
Respuesta: Insertar varias filas en una Tabla mediante Formulario

Hola amigo

Tienes que guardar los campos inputs en arreglos[] una vez tengas guardados los campos creas un ciclo for con un count para poder insertar los registros.
Ej
Código PHP:
Ver original
  1. for($i=0;$i<count($arreglo);$i++){
  2. $dato1 = $arreglo[$i];
  3.  
  4. insert into....... $dato1......;
  5.  
  6. }

Entonces una vez terminado todos los campos datos que guardaste en los arreglos terminara de insertar.

Saludos
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #5 (permalink)  
Antiguo 06/04/2015, 19:39
 
Fecha de Ingreso: enero-2013
Mensajes: 64
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Insertar varias filas en una Tabla mediante Formulario

Muchas gracias a todos...

Siguiendo sus recomendaciones, lo que incluí fue:

Código PHP:
if (isset($_POST["Locales"])) {
    
$Locales $_POST["Locales"];
    
$ID_Partidos $_POST["ID_Partidos"];
    
$fecha_horas $_POST["fecha_horas"];
    
$numero_fechas $_POST["numero_fechas"];
    
$numero_partidos $_POST["numero_partidos"];
    
$Visitantes $_POST["Visitantes"];
    
$ID_usuarios $_POST["ID_usuarios"];
    
$usuarios $_POST["usuarios"];
    
$apuestas $_POST["apuestas"];


for(
$i=0$count count($ID_Partidos);$i<$count;$i++) {
 
$ID_Partido  $ID_Partidos[$i];
 
$fecha_hora $fecha_horas[$i];
 
$numero_fecha $numero_fechas[$i];
 
$numero_partido $numero_partidos[$i];
 
$Local $Locales[$i];
 
$Visitante $Visitantes[$i];
 
$ID_usuario $ID_usuarios[$i];
 
$usuario $usuarios[$i];
 
$aposto $apuestas[$i];

     
$valor "('".$ID_Partido."','".$fecha_hora."', '".$numero_fecha."', '".$numero_partido."', '".$Local."', '".$Visitante."', '".$ID_usuario."', '".$usuario."', '".$aposto."')"//defino el color entre parentesis y comilla simple, ejemplo ('rojo')
    
$valor_aux[] = $valor;
}

$valores implode(', '$valor_aux);
$sql_valores "".$valores."";
    
    
$sql "INSERT INTO apuestas (ID_Partido, fecha_hora, numero_fecha, numero_partido, LOCAL, Visitante, ID_usuario, usuario, aposto)";
   
$sql.= "VALUES ".$sql_valores."";

    
mysql_query($sql$conexion); 
Saludos...

Etiquetas: fecha, filas, formulario, mediante, mysql, sql, tabla
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:40.