Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

everton_boff

Cadastro de Banco de Dados

Recommended Posts

Boa tarde,

estou precisando cadastrar em vários insert de uma só vez, ex:

Já testei o explode que faz o 2 exemplo:

140731074502708294.png

 

Preciso que ele salve cada produto em uma linha de banco de dados, alguem tem uma sugestão de como faço isso?

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wesley,

quero fazer um relacionamento de tbl_compra com tbl_prod, mas ele está salvando como o segundo exemplo da imagem, gostaria que ele salva-se como o primeiro exemplo, tipo como um carrinho de compras, mas quando inserir gostaria que os produtos salva-sem no BD em linhas diferentes com mesmo ID para fazer a relação entre o tabelas, ou me da uma luz de como faço um select para separar os produtos na mesma linha que estão separado por uma virgula quando salvo o objeto.

140731074502708294.png

fiz 1 exemplo bem simples mas ta funcionando, segue código:

 

 

Banco de dados

CREATE TABLE IF NOT EXISTS `tbl_compras` (
  `nome` text COLLATE latin1_general_ci,
  `produtos` text COLLATE latin1_general_ci
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

CREATE TABLE IF NOT EXISTS `tbl_prod` (
  `codigo` int(11) NOT NULL DEFAULT '0',
  `produto` text COLLATE latin1_general_ci,
  `quantidade` text COLLATE latin1_general_ci,
  `descricao` text COLLATE latin1_general_ci,
  `preco` text COLLATE latin1_general_ci
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

index.php

<?php
//MONTA O ARRAY DE PRODUTOS
$produto[1][CODIGO] = "1";
$produto[1][PRODUTO] = "Produto 01";
$produto[1][DESCRICAO] = "Descrição do Produto 01";
$produto[1][PRECO] = "10,15";
$produto[1][IMAGEM] = "semimagem.jpg";

$produto[2][CODIGO] = "2";
$produto[2][PRODUTO] = "Produto 02";
$produto[2][DESCRICAO] = "Descrição do Produto 02";
$produto[2][PRECO] = "15,25";
$produto[2][IMAGEM] = "semimagem.jpg";

$produto[3][CODIGO] = "3";
$produto[3][PRODUTO] = "Produto 03";
$produto[3][DESCRICAO] = "Descrição do Produto 03";
$produto[3][PRECO] = "20,10";
$produto[3][IMAGEM] = "semimagem.jpg";

$produto[4][CODIGO] = "4";
$produto[4][PRODUTO] = "Produto 04";
$produto[4][DESCRICAO] = "Descrição do Produto 04";
$produto[4][PRECO] = "25,60";
$produto[4][IMAGEM] = "semimagem.jpg";


//TOTAL DE PRODUTOS POR LINHA
$total = 2;

?>

<html>
<head>
<title>.:: WebMaster.PT :: Carrinho de Compras Personalizado ::.</title>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style></head>

<body>
<table width="773" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><br><br><br>
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><font face='Arial' size='2'>Confira abaixo, os produtos disponíveis no site:</font> </td>
</tr>
</table>
<br>

<form action="carrinho.php" method="post" name="frmcarrinho">
<input type="hidden" name="opc_efetivar" value="1">
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<?php
//PEGA A CHAVE DO ARRAY
$chave = array_keys($produto);

//EXIBE OS PRODUTOS
for($i=0; $i<sizeof($chave); $i++) {
$indice = $chave[$i];
$codigo = $produto[$indice][CODIGO];
$PRODUTO = $produto[$indice][PRODUTO];
$DESCRICAO = $produto[$indice][DESCRICAO];
$PRECO = $produto[$indice][PRECO];
$imagem = $produto[$indice][IMAGEM];

//VERIFICA
if($total == $atual) {
echo "</tr><tr>";
$atual = 0;
} ?>

<td width="14%" height="100"><img src="imagens/<?= $imagem; ?>" width="80" height="80" border="1"></td>
<td width="36%">

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><font face='Arial' size='2'><?php echo $PRODUTO; ?></font></td>
</tr>

<tr>
<td><font face='Arial' size='2'><?php echo $DESCRICAO; ?></font></td>
</tr>

<tr>
<td><font face='Arial' size='2'>R$ <?php echo $PRECO; ?></font></td>
</tr>

<tr>
<td>
<input type="hidden" name="txtprod[<?php echo $indice;?>][CODIGO]" value="<?php echo $codigo; ?>">
<input type="hidden" name="txtprod[<?php echo $indice;?>][PRODUTO]" value="<?php echo $PRODUTO; ?>">
<input type="hidden" name="txtprod[<?php echo $indice;?>][DESCRICAO]" value="<?php echo $DESCRICAO; ?>">
<input type="hidden" name="txtprod[<?php echo $indice;?>][PRECO]" value="<?php echo $PRECO; ?>">
<input type="text" name="txtprod[<?php echo $indice;?>][QTDE]" size="3" maxlength="3">
<input type="image" src="imagens/carrinho.gif" onClick="java script: document.forms[0].submit();"></td>
</tr>
</table></td>
<?php
//SOMA 1 A VARIÁVEL CONTROLADORA
$atual++;
}//FEHA FOR ?>
</tr>
</table>
</form></td>
</tr>
</table>
</body>
</html>

carrinho.php

<?php

//INICIALIZA A SESSÃO
session_start();

//VERIFICA SE A OPÇÃO ATUALIZAR FOI SELECIONADA
if($_POST[opc_atualizar]) {

//RECEBE OS PRODUTOS CHECADOS PARA ATUALIZAÇÃO
$v_atualiza = $_POST[a_prod];

//PEGA A CHAVE DO ARRAY
$chave = array_keys($v_atualiza);

//EXIBE
for($i=0; $i<sizeof($chave); $i++) {
//PEGA O INDICE DO PRODUTO
$indice = $chave[$i];

//ALTERA A QUANTIDADE DO PRODUTO SELECIONADO
$_SESSION[cesta][$indice][QTDE] = $v_atualiza[$indice][QTDE];
}//FECHA FOR
}//FECHA IF


//VERIFICA SE A OPÇÃO EXCLUIR FOI SELECIONADA
elseif($_POST[opc_excluir]) {

//RECEBE OS PRODUTOS CHECADOS PARA EXCLUSÃO
$excluir = $_POST[check];

//EXIBE
for($i=0; $i<sizeof($excluir); $i++) {
//PEGA O INDICE DO PRODUTO
$indice = $excluir[$i];
//DESTRÓI A VARIÁVEL ESPECIFICADA
unset($_SESSION[cesta][$indice]);
}//FECHA FOR
}//FECHA IF

//RECEBE O PEDIDO DO USUÁRIO
elseif($_POST[opc_efetivar]) {
//RECEBE AS VARIÁVEIS
$v_prod = $_POST[txtprod];

//PEGA A CHAVE DO ARRAY
$chave = array_keys($v_prod);

//EXIBE
for($i=0; $i<sizeof($chave); $i++) {
$indice = $chave[$i];

//VERIFICA
if(!empty($v_prod[$indice][QTDE]) ) {

//GRAVA NO ARRAY CESTA
$cesta[$indice][PRODUTO] = $v_prod[$indice][PRODUTO];
$cesta[$indice][DESCRICAO] = $v_prod[$indice][DESCRICAO];
$cesta[$indice][PRECO] = $v_prod[$indice][PRECO];
$cesta[$indice][QTDE] = $v_prod[$indice][QTDE];
}//FECHA IF
}//FECHA FOR

//GRAVA NA SESSÃO
$_SESSION[cesta] = $cesta;
}//FECHA ELSE
?>

<html>
<head>
<title>.:: WebMaster.PT :: Carrinho de Compras Personalizado ::.</title>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.style2 {
color: #000000;
font-weight: bold;
}
.style5 {color: #FFFFFF; font-weight: bold; }
-->
</style>

<script language="JavaScript">
<!--
function enviar(opcao) {
//OPÇÃO EXCLUIR SELECIONADA
if(opcao == 'E') {
document.forms[0].opc_excluir.value = 1;
document.forms[0].submit();
}//FECHA IF

//OPÇÃO ATUALIZAR SELECIONADA
if(opcao == 'A') {
document.forms[0].opc_atualizar.value = 1;
document.forms[0].submit();
}//FECHA IF

//OPÇÃO FINALIZAR SELECIONADA
if(opcao == 'F') {
document.forms[0].opc_finalizar.value = 1;
document.forms[0].action = "finalizar.php";
document.forms[0].submit();
}//FECHA IF

}//FECHA FUNCTION
//-->
</script>

</head>

<body>
<table width="773" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><br>
<br>
<br>
<br>
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><font size="2" face="Arial">Carrinho de Compras: </font></td>
</tr>
</table>

<?php
//EXIBE O CARRINHO SE TIVER PRODUTOS
if(count($_SESSION[cesta]) > 0) { ?>

<form name="frmCarrinho" method="post">
<input type="hidden" name="opc_excluir">
<input type="hidden" name="opc_atualizar">
<input type="hidden" name="opc_finalizar">
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#CCCCCC">
<td width="4%"> </td>
<td width="8%"><span class="style2">Qtde</span></td>
<td width="51%"><span class="style2">Produto</span></td>
<td width="19%"><span class="style2">Valor</span></td>
<td width="18%"><span class="style2">Subtotal</span></td>
</tr>
<?php
//PEGA A CHAVE
$chave_cesta = @array_keys($_SESSION[cesta]);

//EXIBE OS PRODUTOS DA CESTA
for($i=0; $i<sizeof($chave_cesta); $i++) {
$indice = $chave_cesta[$i];

//SUBTOTAIS DE CADA PRODUTO
$subtotal = $_SESSION[cesta][$indice][QTDE] * ereg_replace(",",".",$_SESSION[cesta][$indice][PRECO]);

//TOTAL GERAL
$total += $subtotal;
?>
<tr>
<td height="25"><input name="check[]" type="checkbox" value="<?php echo $indice; ?>"></td>
<td height="25"><font face='Arial' size='2'>
<input type="text" name="a_prod[<?php echo $indice; ?>][QTDE]" value="<?php echo $_SESSION[cesta][$indice][QTDE]; ?>" size="3"></font></td>
<td height="25"><font face='Arial' size='2'><?php echo $_SESSION[cesta][$indice][PRODUTO]; ?> - <?php echo $_SESSION[cesta][$indice][DESCRICAO]; ?></font></td>
<td height="25"><font face='Arial' size='2'>R$ <?php echo $_SESSION[cesta][$indice][PRECO]; ?></font></td>
<td width="18%" height="25"><font face='Arial' size='2'> R$ <?php echo number_format($subtotal,2,',','.'); ?></font></td>
</tr>
<?php
}//FECHA FOR ?>
<tr>
<td height="25" colspan="3">
<input type="image" name="btnExcluir" src="imagens/excluir.gif" onClick="enviar('E');">
<input type="image" name="btnAtualiza" src="imagens/atualizar.gif" onClick="enviar('A');"></td>
<td height="25" bgcolor="#FF0000"><span class="style5"> Total à pagar: </span></td>
<td height="25" bgcolor="#FFF0F0" class="style2"> R$ <b><?php echo number_format($total,2,',','.'); ?></b></td>
</tr>
<tr>
<td height="25" colspan="3"> </td>
<td height="40" colspan="2"><div align="center">
<input type="image" name="btnFinaliza" src="imagens/continuar.gif" onClick="enviar('F');"></div></td>
</tr>
</table>
</form>
<?php
}//FECHA IF(count)
else { ?><br><br><br>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align='center'><font face='Arial' size='2' color="#006666"><b>Desculpe, mas no momento você não possui nenhumm produto.</b></td>
</tr>
</table><br><br>
<?php
}//FECHA ELSE (count)?>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align='center'><font face='Arial' size='2'><a href="index.php"><< Voltar </a></font></td>
</tr>
</table>
<br>
</td>
</tr>
</table>
</body>
</html>

finalizar.php

<?php

//INICIALIZA A SESSÃO
session_start();

//VERIFICA SE FOI ESCOLHIDA A OPÇÃO PARA FECHA O PEDIDO
if($_POST[opc_enviar]) {

//RECEBE OS DADOS DO FORMULÁRIO
$v_nome = $_POST[txtNome];
$v_end = $_POST[txtEndereco];
$v_email = $_POST[txtEmail];
$v_produtos = $_POST[v_produtos];
$v_quantidade = $_POST[v_quantidade];
$v_descricao = $_POST[v_descricao];
$v_preco = $_POST[v_preco];
$v_total = $_POST[v_total];







//EMAIL DO ADMINISTRADOR QUE VAI RECEBER O PEDIDO
$email_dest = "boff.everton@gmail.com";

//PREPARA O PEDIDO
$mensagem = "<center><table width='500' border='0' cellspacing='1' cellpadding='4' bgcolor='#4a66a3'>
<tr>
    <td bgcolor='white' valign='top'>
       <link rel='important stylesheet' href='chrome://messenger/skin/messageBody.css'>
       <style type='text/css' media='screen'>
       <!-- td { color: #069; font-size: 8pt; font-family: Arial, Verdana, Arial, Helvetica, sans-serif } --></style><br>
        <p align='justify'>Prezado Administrador,<br><br>
          Recebemos através do site o pedido de compra abaixo descrito:<br><br>

          <b>DADOS DA COMPRA:</b><BR>


          <b>Produto:</b> $v_produtos<br>
          <b>Quantidade:</b> <?php echo $_SESSION[cesta][$indice][QTDE]<br>
          <b>Total a Pagar:</b> $v_total<br><br>

          <b>DADOS PARA ENTREGA:</b><BR>
          <b>Nome:</b> $v_nome<br>
          <b>Endereço:</b> $v_end<br>
          <b>Email:</b> $v_email<br>

          <p> <font color='#076DB8'>Atenciosamente,<br>

        <br>

        <b>Departamento Comercial</b><br>
        Nome do Seu site</font>
      <br>
      <b><font color='#7694CB' size='1' face='Verdana, Arial, Helvetica, sans-serif'>:: Politica de Privacidade::<br></font></b>
      <font color='#7694CB' size='1' face='Verdana, Arial, Helvetica, sans-serif'>O envio e recebimento de nossas mensagens procura estar alinhado com o Código de Ética Anti-SPAM que objetiva reger e orientar a comunicação institucional, comercial e publicitária enviada sob a forma de mensagens eletrônicas.</font>
      <br>
      <hr size='1'>
       <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>
       Temos a forte convicção de que a relação entre cliente e empresa deve ser marcada pelo conceito de parceria, fortalecendo o vínculo estabelecido em bases de
       confiança e apoio mútuo.</font></td>
       </tr></table></center>";

	$headers = "MIME-Version: 1.0" . "\r\n";
	$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";// More headers
	$headers .= "From: $v_email" . "\r\n"; // 'From: $email_dest' . "\r\n";

mail("$email_dest", "Pedido: Nome do Seu Site", "$mensagem", "$headers");




$con=mysqli_connect("SeuServidor","usuario","senha","banco");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_query($con,"INSERT INTO tbl_usua (codigo, nome, sobrenome, email)
VALUES ('01', '$v_nome', '$v_end', '$v_email' )");

mysqli_query($con,"INSERT INTO tbl_prod (codigo, produto, quantidade, descricao, Total)
VALUES ('01', '$v_produtos', '$v_quantidade', '$v_descricao', '$v_preco' )");

mysqli_close($con);




if (mail){

	   //ELIMINA TODAS AS VARIÁVEIS DA SESSÃO
       $_SESSION = array();

	   //DESTRÓI A SESSÃO PARA GARANTIR
       @session_destroy();

?>




<script language="JavaScript">
<!--
alert("PARABÉNS!!\n\nO seu pedido foi enviado com sucesso.");
window.location.href = "index.php";
//-->
</script>
<?php
}//FECHA IF(envia)
else {?>
<script language="JavaScript">
<!--
alert("ERRO!!\n\nAconteceu algum problema.\n\nPor favor, tente novamente...");
window.location.href = "index.php";
//-->
</script>
<?php
}//FECHA ELSE (envia)
}//FECHA IF

?>


<html>
<head>
<title>.:: WebMaster.PT :: Carrinho de Compras Personalizadoaaaaa ::.</title>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.style2 {
color: #000000;
font-weight: bold;
}
.style5 {
color: #FFFFFF;
font-weight: bold;
}
-->
</style>

<script language="JavaScript">
<!--
function finaliza() {
if(confirm('Deseja mesmo efetivar esse pedido ?'))
return true;
else return false;
}//FECHA FUNCTION
//-->
</script>

</head>

<body>
<table width="773" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><br><br>

<br><br>

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><font size="2" face="Arial">Fechamento do pedido de comprasaaaaaaaaa: </font></td>
</tr>
</table>

<br>
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#0099CC">
<td width="10%"><span class="style2">Qtde</span></td>
<td width="53%"><span class="style2">Produto</span></td>
<td width="19%"><span class="style2">Valor</span></td>
<td width="18%"><span class="style2">Subtotal</span></td>
</tr>

<?php
//PEGA A CHAVE
$chave_cesta = array_keys($_SESSION[cesta]);

//EXIBE OS PRODUTOS DA CESTA
for($i=0; $i<sizeof($chave_cesta); $i++) {
$indice = $chave_cesta[$i];

//ATRIBUI CONTEUDO A VAR QUE VAI SER USADO NO EMAIL
$v_produtos .= $_SESSION[cesta][$indice][PRODUTO]."\n";
$v_quantidade .= $_SESSION[cesta][$indice][QTDE]."\n";
$v_descricao .= $_SESSION[cesta][$indice][DESCRICAO]."\n";
$v_preco .= $_SESSION[cesta][$indice][PRECO]."\n";

//SUBTOTAIS DE CADA PRODUTO
$subtotal = $_SESSION[cesta][$indice][QTDE] * ereg_replace(",",".",$_SESSION[cesta][$indice][PRECO]);

//TOTAL GERAL
$total += $subtotal;
?>
<tr>
<td height="25"><font face='Arial' size='2'><?php echo $_SESSION[cesta][$indice][QTDE]; ?></font></td>
<td height="25"><font face='Arial' size='2'><?php echo $_SESSION[cesta][$indice][PRODUTO]; ?> - <?php echo $_SESSION[cesta][$indice][DESCRICAO]; ?></font></td>
<td height="25"><font face='Arial' size='2'>R$ <?php echo number_format($_SESSION[cesta][$indice][PRECO],2,',','.'); ?>


</font></td>
<td width="18%" height="25"><font face='Arial' size='2'> R$ <?php echo number_format($subtotal,2,',','.'); ?></font></td>
</tr>
<?php
}//FECHA FOR ?>
<tr>
<td height="25" colspan="2"> </td>
<td height="25" bgcolor="#FF0000"><span class="style5"> Total à pagar: </span></td>
<td height="25" bgcolor="#FFF0F0" class="style2"> R$ <b><?php echo number_format($total,2,',','.'); ?></b></td>
</tr>
</table>

<form name="frmFinalizar" method="post" onSubmit="return finaliza();">
<input type="hidden" name="opc_enviar" value="1">
<input type="hidden" name="v_produtos" value="<?php echo $v_produtos; ?>">
<input type="hidden" name="v_quantidade" value="<?php echo $v_quantidade; ?>">
<input type="hidden" name="v_descricao" value="<?php echo $v_descricao; ?>">
<input type="hidden" name="v_preco" value="<?php echo $v_preco; ?>">
<input type="hidden" name="v_total" value="<?php echo $total; ?>">
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFCC99" class="style2"><div align="center">Dados Pessoais</div></td>
</tr>
</table>

<br>
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="11%" height="25"><font face="Arial" size="2">Nome:</font></td>
<td height="25" colspan="3"><font face="Arial" size="2">
<input name="txtNome" type="text" size="50" maxlength="50"></font></td>
</tr>

<tr>
<td height="25"><font face="Arial" size="2">Endereço:</font></td>
<td width="45%" height="25"><font face="Arial" size="2">
<input name="txtEndereco" type="text" size="40" maxlength="80"></font></td>
<td width="8%" height="25"><font face="Arial" size="2">Email:</font></td>
<td width="36%" height="25"><input name="txtEmail" type="text" size="40" maxlength="45"></td>
</tr>

<tr valign="bottom">
<td height="50" colspan="4"><div align="center">
<input name="btnEnviar" type="submit" value="Confirmar o pedido de compras >>"></div></td>
</tr>
</table>
</form>

<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="47%" align='center'><font face='Arial' size='2'><a href="index.php"><< Página inicial </a></font></td>
<td width="53%" align='center'><font face='Arial' size='2'><a href="carrinho.php"><< Carrinho de compras</a></font> </td>
</tr>
</table><br></td>
</tr>

</table>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.