Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
Estou com problemas para inserir as compras no banco de dados.
até aqui funciona, mas se tendo adicionar outros dados ele não aceita. Só permite adicionar $id e $qtd. Ainda tenho que adicionar o ID do pedido e o valor da mercadoria. Alguém poderia me ajudar?
<?php
foreach($_SESSION['carrinho'] as $id => $qtd){
$sql = "INSERT INTO tbldetped (MercDetPed, QuantDetPed) VALUES ('$id','$qtd')";
$qr = mysqli_query($conn, $sql);
}
?>O que pretendo não é exatamente um carrinho de compras e sim controle de pedidos, pois sou vendedor e resolvi fazer um para me ajudar com as tarefas.
<?php session_start();
include_once("conexao.php");
error_reporting(0); ?>
<?php
$pedidos = "SELECT id_ped FROM tblpedidos ORDER BY id_ped DESC LIMIT 1";
$dado = mysqli_query($conn,$pedidos);
while($dados = mysqli_fetch_array($dado)) {
$dados1 = $dados['id_ped'];
}
echo "Nº do Pedido:$dados1";
$_SESSION['pedidos'] = $dados1;
?>
<?php
$nome = $_SESSION['nome'];
if(empty($nome)){
$_SESSION['nome1'] = "<p style='color:red;'>CAMPO OBRIGATÓRIO";
header("location:pre_pedidos.php");
}
if(!isset($_SESSION['carrinho'])){
$_SESSION['carrinho'] = array();
}
if(isset($_GET['acao'])){
//ADICIONAR CARRINHO
if($_GET['acao'] == 'add'){
$id = intval($_GET['id']);
if(!isset($_SESSION['carrinho'][$id])){
$_SESSION['carrinho'][$id] = 1
;
} else {
$_SESSION['carrinho'][$id] += 1;
}
} //REMOVER CARRINHO
if($_GET['acao'] == 'del'){
$id = intval($_GET['id']);
if(isset($_SESSION['carrinho'][$id])){
unset($_SESSION['carrinho'][$id]);
}
} //ALTERAR QUANTIDADE
if($_GET['acao'] == 'up'){
if(is_array($_POST['prod'])){
foreach($_POST['prod'] as $id => $qtd){
$id = intval($id);
$qtd = intval($qtd);
if(!empty($qtd) || $qtd <> 0){
$_SESSION['carrinho'][$id] = $qtd;
}else{
unset($_SESSION['carrinho'][$id]);
}
}
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<script src="jquery-3.4.1.min.js"></script>
<script src="jquery.mask.js"></script>
<link rel="stylesheet" type="text/css" href="pedidos.css">
<title>PEDIDOS</title>
<script type="text/javascript">
function NovaIndex()
{
location.href="http://localhost/pedidos/index.php"
}
</script>
<script type="text/javascript">
function Novapre()
{
location.href="http://localhost/pedidos/pedidos1.php"
}
</script>
<script type="text/javascript">
function Finalizar()
{
location.href="http://localhost/pedidos/Proc_pedidos.php"
}
</script>
<script type="text/javascript">
$("input, select", "form") // busca input e select no form
.keypress(function(e){ // evento ao presionar uma tecla válida keypress
var k = e.which || e.keyCode; // pega o código do evento
if(k == 13){ // se for ENTER
e.preventDefault(); // cancela o submit
$(this)
.closest('tr') // seleciona a linha atual
.next() // seleciona a próxima linha
.find('input, select') // busca input ou select
.first() // seleciona o primeiro que encontrar
.focus(); // foca no elemento
}
});
</script>
</head>
<body>
<form action="?acao=up" method="post">
<div class="cap">
<?php
$_SESSION['idc'];
$idc=$_SESSION['idc'];
echo "Id:$idc" . " - ";
$_SESSION['nome'];
$nomec=$_SESSION['nome'];
echo $nomec . "<br>";
?>
<br><input type="button" class="myButton" value=" Página Inicial " onClick="NovaIndex()"><br><br>
</div>
<div class="cap">
<select class="sel" name="merc" onchange="location = this.value;">
<option>SELECIONE UMA MERCADORIA</option>
<?php
$sql = "SELECT tblpedidos.id_ped, tblpedidos.ClientePed, tblpedidos.PedEnviado, tblmercadorias.id, tblmercadorias.Descricao, tblmercadorias.Referencia, tblmercadorias.Preco_caixa_a_vista
FROM tblmercadorias LEFT JOIN tblpedidos ON id_ped = tblmercadorias.id WHERE bloq_merc = 'Desbloq.'";
$qr = mysqli_query($conn, $sql);
while($ln = mysqli_fetch_assoc($qr)){ ?>
<option value="pedidos1.php?acao=add&id=<?php echo $ln['id'];?>"> <?php echo "<p>" . $ln['Descricao'] . "  -  Referência:  " . $ln['Referencia'] . "</P>"; ?></option> <?php
}
?>
</select>
<table class="cap" style="border-color: blue" border="1px">
<thead>
<br><tr>
<th width="50">Id</th>
<th width="50">Referencia</th>
<th width="244">Produto</th>
<th width="50">Quantidade Cx</th>
<th width="89">Preço</th>
<th width="100">SubTotal</th>
<th width="100">Acão:</th>
</tr>
</thead>
<tfoot>
<tbody>
<?php
if(count($_SESSION['carrinho']) == 0){
echo '
<tr>
<td class="colspan" colspan="7">Nenhuma mercadoria selecionada.</td>
</tr>
';
} else {
$total = 0;
foreach($_SESSION['carrinho'] as $id => $qtd){
$sql = "SELECT * FROM tblmercadorias LEFT JOIN tblpedidos ON id_ped = $dados1 WHERE id= '$id'";
$qr = mysqli_query($conn, $sql);
$ln = mysqli_fetch_assoc($qr);
$last_id = mysqli_insert_id($conn);
$idmerc = $ln['id'];
$id_ped = $ln['id_ped'];
$Referencia = $ln['Referencia'];
$nomemerc = $ln['Descricao'] ;
$preco = number_format($ln['Preco_caixa_a_vista'], 2, ',', '.');
$sub = number_format($ln['Preco_caixa_a_vista'] * $qtd, 2, ',', '.');
$total += $ln['Preco_caixa_a_vista'] * $qtd;
echo '
<tr>
<td style="text-align: center">'.$id.'</td>
<td style="text-align: center">'.$Referencia.'</td>
<td style="text-align: center">'.$nomemerc.'</td>
<td style="text-align: center"><input type="text" style="text-align: center" class="borda" autofocus required size="3" name="prod['.$id.']" value="'.$qtd.'" onfocus="this.selectionStart = this.selectionEnd = 500;" /></td>
<td style="text-align: center" >R$ '.$preco.'</td>
<td style="text-align: center">R$ '.$sub.'</td>
<td style="text-align: center"><a href="?acao=del&id='.$id.'">EXCLUIR</a></td>
</tr>';
}
$total = number_format($total, 2, ',', '.');
echo '<tr>
<td colspan="6" class="colspan">TOTAL DO PEDIDO</td>
<td class="Total">R$ '.$total.'</td>
</tr>';
}
?>
</tbody>
</form>
</table><br>
<td colspan="7"><input type="submit" class="myButton1" value="ATUALIZAR" onclick='Novapre()'/></td><br>
<br/><input type="submit" class="myButton2" value='Finalizar' onclick='Finalizar()'/><br>
<a href="Proc_pedidos2.php">Finalizar Pedido</a>
</div>
</body>
</html>SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `cidades`
--
CREATE DATABASE IF NOT EXISTS `cidades` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `cidades`;
--
-- Database: `pedidos`
--
CREATE DATABASE IF NOT EXISTS `pedidos` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `pedidos`;
-- --------------------------------------------------------
--
-- Estrutura da tabela `tblclientes`
--
DROP TABLE IF EXISTS `tblclientes`;
CREATE TABLE IF NOT EXISTS `tblclientes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(40) NOT NULL,
`RZ` varchar(50) DEFAULT NULL,
`Ender` varchar(50) DEFAULT NULL,
`Complemento` varchar(30) DEFAULT NULL,
`NumLog` varchar(10) DEFAULT NULL,
`Ob` varchar(20) DEFAULT NULL,
`Bairro` varchar(50) DEFAULT NULL,
`Cidade` varchar(50) DEFAULT NULL,
`CEP` varchar(10) DEFAULT NULL,
`Estado` varchar(2) DEFAULT NULL,
`TelCel1` varchar(20) DEFAULT NULL,
`TelCel2` varchar(20) DEFAULT NULL,
`TelFixo` varchar(20) DEFAULT NULL,
`RG` varchar(15) DEFAULT NULL,
`CPF` varchar(40) DEFAULT NULL,
`CNPJ` varchar(30) DEFAULT NULL,
`EmailH` varchar(50) DEFAULT NULL,
`Obs` varchar(150) DEFAULT NULL,
`DataCadast` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`modified` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`Ocor` varchar(20) DEFAULT NULL,
`DescOcor` varchar(255) DEFAULT NULL,
`Bloq` varchar(20) DEFAULT 'DESBLOQUEADO',
`bloqueado` varchar(20) DEFAULT 'DESBLOQUEADO',
PRIMARY KEY (`id`),
UNIQUE KEY `Cliente` (`nome`)
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8;
--
-- Extraindo dados da tabela `tblclientes`
--
INSERT INTO `tblclientes` (`id`, `nome`, `RZ`, `Ender`, `Complemento`, `NumLog`, `Ob`, `Bairro`, `Cidade`, `CEP`, `Estado`, `TelCel1`, `TelCel2`, `TelFixo`, `RG`, `CPF`, `CNPJ`, `EmailH`, `Obs`, `DataCadast`, `modified`, `Ocor`, `DescOcor`, `Bloq`, `bloqueado`) VALUES
(33, 'Rosalvo Petrillo Risso', 'RosalvoPetrilloRissoME', 'Rua Alexandre Risso', 'casa', '12', '', 'Duas Pedras', 'Nova Friburgo', '28.630-170', 'RJ', '(22) 9-9961-0301', '(22) 9-9961-0302', '(22) 2528-9011', '10196280-1', '076.975.127-00', '00.000.000/0000-00', 'rosalvopetrillorisso@gmail.com', '', '2020-02-19 14:13:54', '2020-02-27 00:46:32', '', '', 'DESBLOQUEADO', NULL),
(34, 'Josy da Silva Storck', 'JosyME', 'Rua Alexandre Risso', 'casa', '12', '', 'Duas Pedras', 'Nova Friburgo', '28.630-170', 'RJ', '(22) 9-9965-4789', '(22) 8-8888-8888', '(22) 2528-9011', '1212121212', '212.124.545-12', '21.212.454/5454-54', 'josystorck@gmail.com', '', '2020-02-19 14:21:10', '2020-02-27 00:46:23', '', '', 'DESBLOQUEADO', NULL),
(35, 'Alberto', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '2020-03-01 21:26:59', '2020-03-05 18:15:44', '', '', 'DESBLOQUEADO', 'DESBLOQUEADO');
-- --------------------------------------------------------
--
-- Estrutura da tabela `tbldetped`
--
DROP TABLE IF EXISTS `tbldetped`;
CREATE TABLE IF NOT EXISTS `tbldetped` (
`id_peddt` int(11) NOT NULL AUTO_INCREMENT,
`reg_ped` int(11) DEFAULT NULL,
`MercDetPed` int(11) DEFAULT NULL,
`preco_vista` float DEFAULT NULL,
`Preco_prazo` float DEFAULT '0',
`QuantDetPed` float DEFAULT NULL,
`subpreco` float DEFAULT NULL,
KEY `MercDetPed` (`MercDetPed`),
KEY `CodPed` (`id_peddt`),
KEY `reg_ped` (`reg_ped`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
--
-- Extraindo dados da tabela `tbldetped`
--
INSERT INTO `tbldetped` (`id_peddt`, `reg_ped`, `MercDetPed`, `preco_vista`, `Preco_prazo`, `QuantDetPed`, `subpreco`) VALUES
(1, NULL, 14, NULL, 0, 1, NULL);
-- --------------------------------------------------------
--
-- Estrutura da tabela `tble-mail`
--
DROP TABLE IF EXISTS `tble-mail`;
CREATE TABLE IF NOT EXISTS `tble-mail` (
`E-mail` varchar(255) DEFAULT NULL,
`E-mailFixo` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Estrutura da tabela `tblmercadorias`
--
DROP TABLE IF EXISTS `tblmercadorias`;
CREATE TABLE IF NOT EXISTS `tblmercadorias` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Estoque` int(11) DEFAULT NULL,
`Referencia` varchar(20) DEFAULT NULL,
`Descricao` varchar(50) DEFAULT NULL,
`Caixa` varchar(10) DEFAULT NULL,
`Preco_unit_a_vista` decimal(19,2) DEFAULT '0.00',
`Preco_caixa_a_vista` decimal(19,2) DEFAULT '0.00',
`Preco_unit_a_prazo` decimal(19,2) DEFAULT '0.00',
`Preco_caixa_a_prazo` decimal(19,2) DEFAULT '0.00',
`modified` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`Excluir` tinyint(1) DEFAULT '0',
`DataCadastMerc` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`bloq_merc` varchar(20) DEFAULT 'Desbloq.',
PRIMARY KEY (`id`),
UNIQUE KEY `NºRegMerc` (`id`),
KEY `Descriçao` (`Descricao`),
KEY `Estoque` (`Estoque`),
KEY `Referencia` (`Referencia`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8;
--
-- Extraindo dados da tabela `tblmercadorias`
--
INSERT INTO `tblmercadorias` (`id`, `Estoque`, `Referencia`, `Descricao`, `Caixa`, `Preco_unit_a_vista`, `Preco_caixa_a_vista`, `Preco_unit_a_prazo`, `Preco_caixa_a_prazo`, `modified`, `Excluir`, `DataCadastMerc`, `bloq_merc`) VALUES
(10, NULL, '001', 'Prato Transparente', '10', '5.00', '50.00', '6.00', '60.00', '2020-02-27 20:30:15', 0, '2020-02-19 18:31:53', 'Desbloq.'),
(11, NULL, '002', 'Panela de Pressão 4 lt', '5', '50.00', '250.00', '60.00', '300.00', '2020-02-27 20:30:11', 0, '2020-02-19 19:02:13', 'Desbloq.'),
(12, NULL, '003', 'xÃcaras', '10', '3.00', '30.00', '3.50', '35.00', '2020-02-27 20:30:23', 0, '2020-02-23 15:32:14', 'Desbloq.'),
(13, NULL, '004', 'Colher de prata', '10', '5.00', '50.00', '6.00', '60.00', '2020-03-04 22:05:31', 0, '2020-02-24 01:50:38', 'Desbloq.'),
(14, NULL, '005', 'Jogo de Talheres Jacomil', '1', '100.00', '100.00', '120.00', '120.00', '2020-02-27 20:30:04', 0, '2020-02-26 14:57:12', 'Desbloq.'),
(15, NULL, '006', 'Toalha de mesa', '10', '50.00', '500.00', '55.00', '550.00', '2020-02-27 20:30:19', 0, '2020-02-26 15:17:45', 'Desbloq.'),
(16, NULL, '007', 'Guardanapo', '100', '1.00', '100.00', '1.50', '150.00', '2020-02-27 20:30:01', 0, '2020-02-26 15:19:07', 'Desbloq.'),
(17, NULL, 'AAA301', 'Frigideira', '10', '15.00', '150.00', '18.00', '180.00', '2020-02-27 23:11:40', 0, '2020-02-27 23:11:40', 'Desbloq.'),
(18, NULL, '008', 'Prato Lizo', '10', '5.00', '50.00', '6.00', '60.00', '2020-03-06 12:43:10', 0, '2020-03-06 12:43:10', 'Desbloq.'),
(19, NULL, '010', 'Prato coloridos', '10', '5.25', '52.50', '7.10', '71.00', '2020-03-06 19:04:29', 0, '2020-03-06 19:04:29', 'Desbloq.');
-- --------------------------------------------------------
--
-- Estrutura da tabela `tblpedidos`
--
DROP TABLE IF EXISTS `tblpedidos`;
CREATE TABLE IF NOT EXISTS `tblpedidos` (
`id_ped` int(11) NOT NULL AUTO_INCREMENT,
`TotalPed` decimal(19,4) DEFAULT '0.0000',
`ClientePed` int(11) DEFAULT NULL,
`DataPed` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`FormPag` varchar(255) DEFAULT NULL,
`Prazo` varchar(255) DEFAULT NULL,
`PagoPedido` tinyint(1) DEFAULT '0',
`OcorPed` tinyint(1) DEFAULT '0',
`ObsPed` varchar(255) DEFAULT NULL,
`PedEnviado` varchar(10) DEFAULT NULL,
`PedEnviado2` tinyint(1) DEFAULT '0',
`ContarEM` tinyint(1) DEFAULT '0',
`PedImed` tinyint(1) DEFAULT '0',
PRIMARY KEY (`id_ped`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;
--
-- Extraindo dados da tabela `tblpedidos`
--
INSERT INTO `tblpedidos` (`id_ped`, `TotalPed`, `ClientePed`, `DataPed`, `FormPag`, `Prazo`, `PagoPedido`, `OcorPed`, `ObsPed`, `PedEnviado`, `PedEnviado2`, `ContarEM`, `PedImed`) VALUES
(15, '0.0000', 33, '2020-03-13 15:04:01', '', '', 0, 0, '', NULL, 0, 0, 0),
(16, '0.0000', 34, '2020-03-13 15:05:48', '', '', 0, 0, '', NULL, 0, 0, 0),
(17, '0.0000', 34, '2020-03-13 15:08:41', '', '', 0, 0, '', NULL, 0, 0, 0),
(18, '0.0000', 33, '2020-03-13 15:12:14', '', '', 0, 0, '', NULL, 0, 0, 0),
(19, '0.0000', 33, '2020-03-13 15:17:25', '', '', 0, 0, '', NULL, 0, 0, 0),
(20, '0.0000', 33, '2020-03-13 15:21:05', '', '', 0, 0, '', NULL, 0, 0, 0),
(21, '0.0000', 34, '2020-03-13 15:22:23', '', '', 0, 0, '', NULL, 0, 0, 0),
(22, '0.0000', 33, '2020-03-13 15:23:09', '', '', 0, 0, '', NULL, 0, 0, 0),
(23, '0.0000', 34, '2020-03-13 15:26:25', '', '', 0, 0, '', NULL, 0, 0, 0),
(24, '0.0000', 33, '2020-03-13 15:28:58', '', '', 0, 0, '', NULL, 0, 0, 0);
-- --------------------------------------------------------
--
-- Estrutura da tabela `usuarios`
--
DROP TABLE IF EXISTS `usuarios`;
CREATE TABLE IF NOT EXISTS `usuarios` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(40) NOT NULL,
`email` varchar(40) NOT NULL,
`created` datetime NOT NULL,
`modified` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Estrutura da tabela `vendas`
--
DROP TABLE IF EXISTS `vendas`;
CREATE TABLE IF NOT EXISTS `vendas` (
`id_vendas` int(11) NOT NULL AUTO_INCREMENT,
`id_pedv` varchar(11) DEFAULT NULL,
`id_mercv` int(11) DEFAULT NULL,
`quant_vendas` float DEFAULT NULL,
`preco_vendas` float DEFAULT NULL,
`total_vendas` float DEFAULT NULL,
PRIMARY KEY (`id_vendas`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
--
-- Extraindo dados da tabela `vendas`
--
INSERT INTO `vendas` (`id_vendas`, `id_pedv`, `id_mercv`, `quant_vendas`, `preco_vendas`, `total_vendas`) VALUES
(5, '', 10, 1, NULL, NULL),
(6, '', 14, 5, NULL, NULL),
(7, '', 17, 1, NULL, NULL);
--
-- Constraints for dumped tables
--
--
-- Limitadores para a tabela `tbldetped`
--
ALTER TABLE `tbldetped`
ADD CONSTRAINT `tbldetped_ibfk_1` FOREIGN KEY (`reg_ped`) REFERENCES `tblpedidos` (`id_ped`);
COMMIT;Resolvido, agradeço a atenção de todos:
<?php
session_start();
include_once("conexao.php");
$pedidos = "SELECT id_ped FROM tblpedidos ORDER BY id_ped DESC LIMIT 1";
$dado = mysqli_query($conn,$pedidos);
while($dados = mysqli_fetch_array($dado)) {
$dados1 = $dados['id_ped'];
}
echo "Nº do Pedido:$dados1";
foreach ($_SESSION['carrinho'] as $id => $qtd) {
$merc = "SELECT Preco_caixa_a_vista FROM tblmercadorias WHERE id = $id";
$dado = mysqli_query($conn,$merc);
while($preco = mysqli_fetch_array($dado)) {
$id1 = $preco['id_ped'];
$preco1 = $preco['Preco_caixa_a_vista'];
}
$inserir = "INSERT INTO tbldetped (reg_ped, MercDetPed, preco_vista, QuantDetPed) VALUES ('$dados1','$id','$preco1','$qtd')";
mysqli_query($conn, $inserir) or die(mysqli_error($conn));
E como está o .sql?