Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/02/2011, 05:03
frmfernando
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Solución a un problema a la hora de insertar datos en una tabla

Hola veo que no me he explicado muy bien.

Para que entiendan lo que quiero hacer he creado algo de codigo se lo pongo a continuacion.

pruebanuevo.php
Código PHP:
        <div class="div_cuerpo_contenido">
        
            <!-- recuperación datos de clientes -->
            <div class="div_datos_clientes">
                    
                <!-- formulario para dar de alta clientes -->
                <form name="pruebanuevo" action="./../panel/pruebanuevo.php" method="post">
                    
                    <div class="div_titulos_cliente">
                        Cuantas Veces:
                    </div>
                        
                    <div class="div_datos_cliente">
                        <input name="cuantas" type="text"/>
                      </div>
                    
                    <div class="div_titulos_cliente">
                        Nº Factura:
                    </div>
                        
                    <div class="div_datos_cliente">
                        <input name="nfactura" type="text"/>
                      </div>
                    
                    <div class="div_alta_cliente_boton">
                        <input type="submit" value="Cuantas Veces" />
                    </div>
               </form>
                    
                
                
                
                <?php
                
if(isset($_POST["cuantas"])){
                    
$cuantas=$_POST["cuantas"];
                    
$nfactura=$_POST["nfactura"];
                    
                    echo 
"<p>Lineas cuerpo de documento= $cuantas</p>";
                    echo 
"<p>Número de factura= $nfactura</p>";
                    
                
?>
                
                <!-- formulario para dar de alta clientes -->
                <form name="pruebanuevo" action="./../panel/pruebanuevo2.php" method="post">
                
                    <?php
                        $cuenta
=1;
                        
                        while(
$cuenta<=$cuantas){
                            
                    
?>
                    
                    
                    <div class="div_titulos_cliente">
                        Nombre:
                    </div>
                        
                    <div class="div_datos_cliente">
                        <input name="nombre" type="text"/>
                      </div>
                    
                    <?php
                            $cuenta
++;
                        }
                    
?>

                    
                    <div class="div_alta_cliente_boton">
                        <input type="hidden" name="cuantas" value="<?php echo $cuantas?>" />
                        <input type="hidden" name="nfactura" value="<?php echo $nfactura?>" />
                        <input type="submit" value="Dar de alta" />
                    </div>
                </form>
                
                <?php
                    
}
                 
?>
                
 
            </div>
La página que recoge los datos y los agrega a la base de datos es la siguiente

pruebanuevo2.php
Código PHP:
<?php session_start();

    if (empty (
$_SESSION["validado"])){
        
header ("location:./../index.php");
        
        }else{
            if(
$_SESSION["validado"]==1){
                include_once(
"./../includes/header.php");
                
                
//recoger los datos que llegan por $_POST
                
$cuantas=$_POST["cuantas"];
                
$nfactura=$_POST["nfactura"];
                
$nombre=$_POST["nombre"];
                
                
//agregar numero de veces y nombre de usuario
                
$sql="INSERT INTO prueba (cuantas, nfactura ,nombre) values ('$cuantas', '$nfactura', '$nombre')";
                
$r=mysql_query($sql$link);

                
header("location:./../panel/pruebanuevo.php?error=Correcto");
                
                }else{
                    
header("location:./../panel/pruebanuevo.php?error=fallo");
                    }
        }

?>
El problema es el que comentaba anteriormente que de todos los datos introducidos en el formulario solo me guarda en la BBDD la última linea del formulario.

Ejemplo:

Cuantas lineas: 3
Número de Factura: 389

Linea1: Carlos
Linea2: Juan
Linea3: Manolo

En la BBDD solo me guarda el número de lineas, el número de la factura y la linea3

Alquien me puede decir que estoy planteando mal?

Me imagino que el formulario solo me envia la última linea.

Gracias una vez más.