Como guardar una session en una base de datos mysql

Que tal perdón por la molestia pero tengo un pequeño problema, bueno lo que quiero hacer es que la información de un carrito de compras se guarde en una base de datos mysql pero no c como hacerlo ya que he leído que para eso se guarda la session .
Te dejo el código ok
<?php
session_start();
if(isset($_SESSION['carrito'])){
    $carrito_mio=$_SESSION['carrito'];
 $pedido="Pedido de Equipos - nombre empresa. <br><br>";
 $total=0;
 for($i=0;$i<=count($carrito_mio)-1;$i ++){
      if($carrito_mio[$i] !=NULL){
       $pedido .= $carrito_mio[$i]['modelo'] . "****************" . $carrito_mio[$i]['precio'] . "x" . $carrito_mio[$i]['cantidad'] . "Total : " . $carrito_mio[$i]['precio'] * $carrito_mio[$i]['cantidad'] . " Pesos <br>";
    $total= $total  +  $carrito_mio[$i]['precio']  *  $carrito_mio[$i]['cantidad'];
   }
 }
$pedido.= "<br><br> Total: " . $total;
$nombre=$_POST['nombre'];
$email=$_POST['correo'];
$pedido.= "<br><br>De: ". $nombre;
$asunto="nombre empresa-pedido";
$empresa="nombre empresa.com";
$correo_empresa="correo-empresa";
mail($email,$asunto,$pedido,"NINE-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:$empresa<$correo_empresa>");
$asunto .= " Copia ";
mail($correo_empresa,$asunto,$pedido,"NINE-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:$empresa<$correo_empresa>");
}
?>
El código de arriba esta bien,
Lo que quiero guardar es el pedido en la base de datos
En este código trato de guardarlo pero se guarda siempre y cuando solo sea un producto.
Pero cuando son más productos pedidos solo se guarda el ultimo producto seleccionado con el total de todo el pedido, como puedo arreglar esto para que lo envíe a la base de datos y después lo pueda recuperar, ¿bueno espero me pueda ayudar?
Gracias...
<?php
$link = mysql_connect("localhost","root","");
mysql_select_db("productos",$link);
if(isset($_SESSION['carrito'])){
    $carrito_mio=$_SESSION['carrito'];
 $modelo;
 $precio;
 $cantidad;
 $total=0;
 $fecha=date('y,m,d');
 for($i=0;$i<=count($carrito_mio)-1;$i ++){
    if($carrito_mio[$i] !=NULL){ 
       $modelo = $carrito_mio[$i]['modelo'];
    $precio = $carrito_mio[$i]['precio'];
    $cantidad = $carrito_mio[$i]['cantidad'];
    $total= $total  +  $carrito_mio[$i]['precio']  *  $carrito_mio[$i]['cantidad'];
  }
   }
   }
// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO pedidos(modelo, precio, cantidad, total,fecha)
VALUES ('$modelo','$precio','$cantidad','$total','$fecha')",$link);
 ?>

1 respuesta

Respuesta
1
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.
Hola que tal gracias por esa gran ayuda, ya tenia una semana matándome para realizar esto y sin saber que la respuesta la tenia enfrente de verdad muchas gracias.
Otra ultima pregunta: en la base de datos que estoy ocupando esta en mysql a esta se le puede reiniciar el id mm ejemplo: ahorita llevo 211 registros por la pruebas y eso como lo puedo regresar a 0 y que empiece a contar.
No debería ser relevante el número del campo id. Pero puedes borrar la tabla y volverla a crear.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas