Foros del Web » Programando para Internet » PHP »

Insertar inputs dinamicos a base de datos

Estas en el tema de Insertar inputs dinamicos a base de datos en el foro de PHP en Foros del Web. Buenas noches amigos Tengo un problema al momento de insertar informacion de un formulario dinamico, dicho formulario se crea en base a la informacion que ...
  #1 (permalink)  
Antiguo 21/09/2011, 20:31
 
Fecha de Ingreso: febrero-2009
Mensajes: 32
Antigüedad: 15 años, 2 meses
Puntos: 0
Insertar inputs dinamicos a base de datos

Buenas noches amigos

Tengo un problema al momento de insertar informacion de un formulario dinamico, dicho formulario se crea en base a la informacion que tengo en una tabla de la base de datos y el cual es el siguiente y trabaja bastante bien :
Código PHP:
<table width="100%" border="1">
  <tr>
    <td class="etiquetaBoleto">Descripción</td>
    <td class="etiquetaBoleto">Precio</td>
    <td class="etiquetaBoleto">Folio Actual</td>
    <td class="etiquetaBoleto">Folio Final</td>
    <td class="etiquetaBoleto">Folio Entregado</td>
    <td class="etiquetaBoleto">Cantidad </td>
    <td class="etiquetaBoleto">Importe</td>
    
  </tr>
  <?php 
      $b
=$tra->get_boletos();
    for(
$i=0;$i<sizeof($b);$i++)
    {
  
?>
  
  <tr>
    <td><input name="descrip_boleto" value="<?php echo $b[$i]["descrip_boleto"];?>" size="11"/></td>
    <td><input name="monto" value="<?php echo $b[$i]["monto"];?>" size="11"/></td>
    <td><input name="folio_ini" value="<?php echo $b[$i]["folio_ini"];?>" size="11"/></td>
    <td><input name="folio_fin" value="<?php echo $b[$i]["folio_fin"];?>" size="11"/></td>
    <td><input name="entrega" size="11" id="entrega"/></td>
    <td><input name="cantidad" size="11"/> </td>
    <td><input name="importe" size="11"/></td>
        
  </tr>
  <?php
    
}
  
?>
</table>
   
<div class="captura">
<table width="100%">
  <tr>
    <td width="90%" align="right">Valor de Entrega</td>
    <td width="10%"><input name="total" size="15" /></td>
  </tr>
</table>
</div>
     <div class="clear"></div>  
            &nbsp;
        <div id="botones">
        <div class="derecho">
            <input type="button" value="Aplicar" title="Aplicar operacion" onclick="opera();" /></div>
        <div class="izquierdo">
            <input type="hidden" name="grabar" value="si"/>
            <input type="button" value="Registrar" title="Registrar" onclick="valida_entregaBoletos();" /></div>
        </div> 
        
        </form>
        </div>
Hasta este punto todo excelente el problema es cuando quiero ingresar esta misma informacion en una tabla diferente de donde extraigo los datos y solo me guarda el ultimo renglon generados pero eso si con la informacion correcta de los movimiento que se vinieron realizando en el formulario y para realizar la inserción de los registros uso la siguiente funcion en php
Código PHP:
 /*************FUNCION DE INSERCION DE ENTREGAS DE BOLETOS*******************************/    
   
   
public function Insertar_entregas()
{
        
       
$fec_entrega=$_POST["fec_entrega"];
       
$id_chofer=$_POST["id_chofer"];
       
$id_camion=$_POST["id_camion"];
       
$id_ruta=$_POST["id_ruta"];
       
$descrip_boleto=$_POST["descrip_boleto"];
       
$monto=$_POST["monto"];
       
$folio_ini=$_POST["folio_ini"];
       
$folio_fin=$_POST["folio_fin"];
       
$entrega=$_POST["entrega"];
       
$cantidad=$_POST["cantidad"];
       
$importe=$_POST["importe"];
       
$total=$_POST["total"];
      
      for(
$i=0$i<count($fec_entrega); $i++)
       { 
         
$sql="INSERT INTO entrega VALUES (null,'$fec_entrega','$id_chofer','$id_camion','$id_ruta','$descrip_boleto','$monto','$folio_ini','$folio_fin','$entrega','$cantidad','$importe','$total')";
       }
        echo 
"$sql";
     
         
$res=mysql_query($sql,Conectar::con());

    
         echo 
"
         <script type='text/javascript'>
         alert('Se registro correctamente la entrega');
         window.location='"
.$_POST["url"]."';
         </script>"
;
          

Esperando contar con su apoyo y alguien me orientara para poder registrar cada uno de los datos que se muestran en la tabla y no solo el ultimo espero y de antemano les doy las gracias por la atencion prestada
  #2 (permalink)  
Antiguo 22/09/2011, 16:48
 
Fecha de Ingreso: febrero-2009
Mensajes: 32
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Insertar inputs dinamicos a base de datos

De nueva cuenta pidiendo el apoyo ojala hubiera alguien que me ayude con este problema
  #3 (permalink)  
Antiguo 22/09/2011, 17:16
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Insertar inputs dinamicos a base de datos

Pues si te fijas, todos los campos tienen el mismo nombre, por tanto al enviar el post recibes el último valor.

Puedes ponerle al nombre un número para que tengan nombres diferentes:


<?php
$b=$tra->get_boletos();
for($i=0;$i<sizeof($b);$i++)
{
?>

<tr>
<td><input name="descrip_boleto<?php echo $i;?>" value="<?php echo $b[$i]["descrip_boleto"];?>" size="11"/>
.
.

.

.

.


O bien puedes manejarlos como arreglos:
<input name="descrip_boleto[]"

Según prefieras recorrer los datos al recibirlos
  #4 (permalink)  
Antiguo 23/09/2011, 14:56
 
Fecha de Ingreso: febrero-2009
Mensajes: 32
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Insertar inputs dinamicos a base de datos

bueno ocp001a muchas gracias por tu atencion y ayuda sabes estuve checando desde que me distes el tip lo he probado por todos lados asi como me orientastes pero me sigue grabando los datos de una sola linea y esta es la ultima seguire buscando y probando nuevas tecnicas muchisimas gracias

Etiquetas: dinamicos, inputs, mysql, registro, 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 06:51.