¿Cómo gaurdar todos los registros de mi carritoe n la base de datos?

Leí tu pregunta en el foro.. Ahora yo me encuentro en ela misma situación.. No logro que todos los datos de mi carrito se guarden en la base de datos.. Solo guarda el ultimo que se encuentra registrado.. O haciendo modificaciones al bucle for me guarda el ultimo 2 o 3 veces según los registros que haya.. Te agradecería si me pudieras ayudar este es mi código:

¿

¿

<?php
session_start();
$mi_carrito=$_SESSION['carrito'];
if (isset($mi_carrito)){
$total=0;
for ($i=0;$i<count($mi_carrito);$i++){
if($mi_carrito[$i]<>NULL)
{
?>
<tr>
<td bgcolor="#FFFADD"><input type="text" name="nombre" value="<?php echo $mi_carrito[$i]['nombre'] ?>" /></td>
<td bgcolor="#FFFADD"><input type="text" name="precio" value="<?php echo $mi_carrito[$i]['precio'] ?>" /></td>
<td bgcolor="#FFFADD"><input type="text" name="cantidad" value="<?php echo $mi_carrito[$i]['cantidad'] ?>" /></td>
<?php
$subtotal=$mi_carrito[$i]['precio']*$mi_carrito[$i]['cantidad'];
$total=$total+$subtotal;
?>
¿<td bgcolor="#FFFADD"><?php echo $subtotal?>
</td>
<td bgcolor="#FFFADD"></td>
</tr>
<?php
}
}
}
?>

Con el siguiente se finaliza el pedido y se pretende guardar en la base de datos

¿

<?php
session_start();

include ('../conexion.php');

if(isset($_POST['confirmarPedido']))
{
$nombreusu=$_POST['cliente'];
$direccion=$_POST['direccion'];
$tel=$_POST['telefono'];
$correo=$_POST['email'];
$nombre = $_POST['nombre'];
$precio = $_POST['precio'];
$cantidad = $_POST['cantidad'];

$mi_carrito=$_SESSION['carrito'];
for ($i=0;$i<count($mi_carrito);$i++){
if($mi_carrito[$i]<>NULL)
{
$sql = "INSERT INTO pedidos(cliente,direccion,telefono,email,nombre,precio,cantidad) VALUES ('$nombreusu','$direccion','$tel','$correo','$nombre','$precio','$cantidad')";
mysql_query($sql);
}
echo 'Pedido Enviado';
}
}
?>

Respuesta

Esto fue lo que me respondieron para poder guardar el pedido en la base de datos, tienes que colocar el mysql_query dentro del bucle for para que inserte cada línea. Como ahora está fuera del bucle, sólo guarda el resultado final.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas