Pregunta:
Fecha: 10-11-2017 17:15:15
(En Español)
Código tabla pedidos mysql :
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
-- Estructura de tabla para la tabla `pedidos`
--
CREATE TABLE `pedidos` (
`pedido` int(5) NOT NULL,
`producto` varchar(100) NOT NULL,
`cantidad` int(2) NOT NULL,
`precio_producto` double NOT NULL,
`id_cliente` int(3) NOT NULL,
`descargable` tinyint(1) NOT NULL DEFAULT '0',
`id_producto` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Código mostrar_compra.php que pasa los datos a crear_pedido.php para que se lleven a la tabla:
Código crear_pedido.php que recibe los datos de mostrar_compra.php y los lleva a la tabla pedidos:
Votos: 0 - Respuestas: 1 - Vistas: 9 Compartir en: Google Facebook Twitter LinkedIn Link
problemas en la base de datos [No resuelta]
Buenas noches estoy haciendo un carrito de compras y he tenido problemas por que no se guardan los pedidos en la tabla...el código es un poco largo pero espero alguien me pueda ayudar.. graciasCódigo tabla pedidos mysql :
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
-- Estructura de tabla para la tabla `pedidos`
--
CREATE TABLE `pedidos` (
`pedido` int(5) NOT NULL,
`producto` varchar(100) NOT NULL,
`cantidad` int(2) NOT NULL,
`precio_producto` double NOT NULL,
`id_cliente` int(3) NOT NULL,
`descargable` tinyint(1) NOT NULL DEFAULT '0',
`id_producto` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Código mostrar_compra.php que pasa los datos a crear_pedido.php para que se lleven a la tabla:
<?php
session_start();
if(isset($_SESSION['mi_carrito']) && !empty($_SESSION['mi_carrito'])){
?>
<table class="table table-hover">
<tr class="danger">
<td style="text-decoration: underline; font-weight:bold">
Producto
</td>
<td style="text-decoration: underline; font-weight:bold">
Precio
</td>
<td style="text-decoration: underline; font-weight:bold">
Cantidad
</td>
</tr>
<?php
for($i=0;$i<count($_SESSION['mi_carrito']);$i++){
?>
<tr class="success" id="<?php echo $i; ?>">
<td><?php echo utf8_decode($_SESSION["mi_carrito"][$i]["nombre"]); ?>
</td>
<td><?php echo $_SESSION["mi_carrito"][$i]["precio"]; ?>
</td>
<td><?php echo $_SESSION["mi_carrito"][$i]["cantidad"]; ?>
</td>
<td>
<a onclick="eliminar_producto(<?php echo $i; ?>)"><img width='25px' src='../cerrar.png'></a>
</td>
<td id="<?php echo "n".$i; ?>" style="display:none">
<img width='25px' src='../cargando.gif'>
</td>
</tr>
<?php
}
if(isset($_SESSION["envio"])){
?>
<?php
}
if(isset($_SESSION["pago"])){
?>
<tr class="success"><td>Forma de Pago: <?php echo $_SESSION["pago"]; ?></td></tr>
<?php
}
?>
</table>
<?php
echo "Total: ".number_format($_SESSION['total'])." Pesos";
}
else echo "Carrito vacio"
?>
Código crear_pedido.php que recibe los datos de mostrar_compra.php y los lleva a la tabla pedidos:
<?php
session_start();
include("../../php/conexion.php");
if(!isset($_SESSION["nombre_cliente"])) {
if(!isset($_COOKIE["nombre_cliente"])){
header("location:../../clientes/form_registro_clientes.php");
}
}
if(!isset($_SESSION["mi_carrito"]))
header("location:../../index.php");
$registros=mysqli_query($link,"SELECT pedido FROM pedidos WHERE pedido=(SELECT MAX(pedido) FROM pedidos)") or die ("problemas");
if(mysqli_num_rows($registros)==0){
$pedido=1;
}
else {
$fila=mysqli_fetch_array($registros);
$pedido=$fila["pedido"]+1;
}
for($i=0;$i<count($_SESSION["mi_carrito"]);$i++){
$producto= utf8_decode($_SESSION["mi_carrito"][$i]["nombre"]);
$cantidad= $_SESSION["mi_carrito"][$i]["cantidad"];
$precio= $_SESSION["mi_carrito"][$i]["precio"];
// descargable
//$descargable= $_SESSION["mi_carrito"][$i]["descargable"];
$id_producto= $_SESSION["mi_carrito"][$i]["id_producto"];
// descargable
if(isset($_SESSION["id_cliente"]))
$id_cliente=$_SESSION["id_cliente"];
if(isset($_COOKIE["id_cliente"]))
$id_cliente=$_COOKIE["id_cliente"];
mysqli_query($link,"INSERT INTO pedidos (pedido,producto,cantidad,precio_producto,id_cliente,,descargable,id_producto) VALUES('$pedido','$producto','$cantidad','$precio','$id_cliente','$descargable','$id_producto')");
}
$total_pedido=$_SESSION["total"];
$pago=$_SESSION["pago"];
if(isset($_SESSION['envio']))
$envio=1;
else
$envio=0;
mysqli_query($link,"INSERT INTO pedidos2 (total_pedido,envio,pago,pedido) VALUES('$total_pedido',$envio,'$pago','$pedido')");
unset($_SESSION["mi_carrito"]);
if(isset($_SESSION["envio"]))
unset($_SESSION["envio"]);
unset($_SESSION["pago"]);
unset($_SESSION["total"]);
cerrarconexion();
//header('Location: ../../index.php?compra_realizada');
?>Votos: 0 - Respuestas: 1 - Vistas: 9 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 20-11-2017 07:25:48 Buenas tardes! Tu problema aparentemente es de sintaxis
mysqli_query($link,"INSERT INTO pedidos (pedido,producto,cantidad,precio_producto,id_cliente,,descargable,id_producto) VALUES('$pedido','$producto','$cantidad','$precio','$id_cliente','$descargable','$id_producto')");
En el id_cliente tienes 2 comas (,,). Éxitos Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
