Campo numero de pedido carrito de la compra php
Necesito numerar cada pedido que se haga a través de un carro de la compra en php+mysql. Lo último que tengo hecho me muestra un número por cada línea de pedido, cuando lo que necesito es que cada línea del mismo pedido tengo un número único. Por ejemplo, lo que busco es:
* Linea 1 - tomates rojos - número de pedido 1.
* Linea 2 - tomates verdes - número de pedido 1.
* Línea 3 - tomates amarillos - número de pedido 1.
Entonces, este sería el número de pedido 1, en este caso, tres líneas. Siguiente pedido:
* Línea 1 - manzanas - número de pedido 2.
* Línea 2 - peras - número de pedido 2.
Este sería el número de pedido 2, y asi sucesivamente.
En la actualidad, mi código hace lo siguiente, pongo el mismo primer ejemplo:
* Linea 1 - tomates rojos - número de pedido 1.
* Linea 2 - tomates verdes - número de pedido 2.
* Línea 3 - tomates amarillos - número de pedido 3.
Les dejo mi código:
<?php require_once('Connections/carniceria.php'); ?>
<?php
if(isset($_SESSION['carrito'])){
$carrito_mio=$_SESSION['carrito'];
$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$descripcion;
$pvp;
$cantidad;
$total=0;
$fechapedido=date('y,m,d');
$rs = mysql_query("SELECT MAX(numped) FROM pedidos") or die(mysql_error());
if($mid = mysql_fetch_row($rs)) {
$mid++;
}else{
$mid = 0;
}
for($i=0;$i<=count($carrito_mio)-1;$i ++){
if($carrito_mio[$i] !=NULL){
$descripcion = $carrito_mio[$i]['descripcion'];
$pvp = $carrito_mio[$i]['pvp'];
$cantidad = $carrito_mio[$i]['cantidad'];
$subtotal = $carrito_mio[$i]['pvp'] / 1000 * $carrito_mio[$i]['cantidad'];
// Con esta sentencia SQL insertaremos los datos en la base de datos
$sql_insert="INSERT INTO pedidos (pedidosid, numped, nombre, apellidos, fechapedido, descripcion, pvp, cantidad, subtotal) VALUES ('', '".$i."', '$nombre', '$apellidos', '$fechapedido', '$descripcion', '$pvp', '$cantidad', '$subtotal')";
mysql_query($sql_insert) or die('Error en la inserción: '.mysql_error());
}
}
}
?>
Intento con el select max ver cual sería el último número de pedido, sumarle 1, y este resultado sería el nuevo número de pedido para la sesión en curso.
¿Me pueden ayudar con el código.
* Linea 1 - tomates rojos - número de pedido 1.
* Linea 2 - tomates verdes - número de pedido 1.
* Línea 3 - tomates amarillos - número de pedido 1.
Entonces, este sería el número de pedido 1, en este caso, tres líneas. Siguiente pedido:
* Línea 1 - manzanas - número de pedido 2.
* Línea 2 - peras - número de pedido 2.
Este sería el número de pedido 2, y asi sucesivamente.
En la actualidad, mi código hace lo siguiente, pongo el mismo primer ejemplo:
* Linea 1 - tomates rojos - número de pedido 1.
* Linea 2 - tomates verdes - número de pedido 2.
* Línea 3 - tomates amarillos - número de pedido 3.
Les dejo mi código:
<?php require_once('Connections/carniceria.php'); ?>
<?php
if(isset($_SESSION['carrito'])){
$carrito_mio=$_SESSION['carrito'];
$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$descripcion;
$pvp;
$cantidad;
$total=0;
$fechapedido=date('y,m,d');
$rs = mysql_query("SELECT MAX(numped) FROM pedidos") or die(mysql_error());
if($mid = mysql_fetch_row($rs)) {
$mid++;
}else{
$mid = 0;
}
for($i=0;$i<=count($carrito_mio)-1;$i ++){
if($carrito_mio[$i] !=NULL){
$descripcion = $carrito_mio[$i]['descripcion'];
$pvp = $carrito_mio[$i]['pvp'];
$cantidad = $carrito_mio[$i]['cantidad'];
$subtotal = $carrito_mio[$i]['pvp'] / 1000 * $carrito_mio[$i]['cantidad'];
// Con esta sentencia SQL insertaremos los datos en la base de datos
$sql_insert="INSERT INTO pedidos (pedidosid, numped, nombre, apellidos, fechapedido, descripcion, pvp, cantidad, subtotal) VALUES ('', '".$i."', '$nombre', '$apellidos', '$fechapedido', '$descripcion', '$pvp', '$cantidad', '$subtotal')";
mysql_query($sql_insert) or die('Error en la inserción: '.mysql_error());
}
}
}
?>
Intento con el select max ver cual sería el último número de pedido, sumarle 1, y este resultado sería el nuevo número de pedido para la sesión en curso.
¿Me pueden ayudar con el código.
1 Respuesta
Respuesta de flopstech
1