2
respostas

PHP - Popular Banco de Dados

Pessoal boa noite preciso de ajuda, eu entendi que para cadastrar um pedido no banco de dados eu preciso de duas tabelas. A primeira com os pedidos que mostram id, numero do pedido e id do cliente. a segunda tabela seria a de cadastro dos itens para cada pedido. Ok. Na hora de fazer o pedido, minha pagina mostra uma lista de produtos por categoria. O usuario faz a seleção, na hora de enviar os dados do id do cliente que escolheu o produto + os id's dos produtos escolhidos e tratar e depois enviar para o banco eu fico com duvida. Como faço e como seria para popular duas tabelas ao mesmo tempo. Porque pelo que entendi, primeiro seria popular a tabela pedido para que eu tenha um numero de pedido vinculado a um id do cliente e depois pegar esse numero de pedido para outra tabela e vincular aos id's dos produtos escolhidos Como ficaria isso? Não entendi.

2 respostas

Seguindo o fluxo da maioria dos sistemas com geração do pedido, são duas ações distintas. Primeiro você cadastra o cabeçalho do pedido vinculado ao cliente e outros dados. O outro momento é de adicionar os itens do pedido onde cada item é um produto. Você tem familiaridade com esse tipo de sistema? Seria interessante fazer um benchmark.

Oi Tiago, não tenho familiaridade com esse tipo de sistema, é a primeira vez que tento faze-lo. O que já fiz até o momento foi na pagina de escolha de produtos ter um usuario já selecionado escolhendo os itens que deseja, Isso eu já consegui. Agora o proximo passo é enviar ao BD a(s) escolha(s) do cliente e guardar isso para mostrar futuramente. Segue a pagina que está pronta:

<?php
require_once 'conecta.php';
require_once 'banco-noivos.php';
require_once 'banco-produto.php';
require_once 'banco-marca.php';
require_once 'produto.php';
require_once 'banco-categoria.php';
require_once 'categoria.php';
require_once 'marca.php';
require_once 'noivos.php';
require_once 'logica-usuario.php';
?>
<?php verificaUsuario(); ?>

<?php $categorias = listaCategorias($conexao); ?>

<script type="text/javascript" src="assets/js/jquery.min.js"></script>

<script type="text/javascript">

   $(document).ready(function () {
        // Evento quando o valor da combo é alterado
       $('#select-relatorio').change(function () {
         // Redirecionamento por Javascript quando uma das opções com valor for selecionado
         if ($(this).val()!="") {

               window.location = "escolha-produtos.php?id="+$(this).val();

         }
       });
    });
</script>
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <link rel="icon" type="image/png" href="#">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

  <title>Florença Moveis,Presentes & Decorações</title>

  <meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
    <meta name="viewport" content="width=device-width" />

    <link href="bootstrap3/css/bootstrap.css" rel="stylesheet" />
    <link href="assets/css/gsdk.css" rel="stylesheet"/>
<link href="assets/css/pe-icon-7-stroke.css" rel="stylesheet" />
    <link href="assets/css/demo.css" rel="stylesheet" />


    <!--     Fonts and icons     -->
    <link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
    <link href='http://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'>
    <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300' rel='stylesheet' type='text/css'>

</head>
<body>

    <footer class="footer footer-transparent" style="background-image: url('assets/img/amigas.jpg')">

            <!-- .footer-black is another class for the footer, for the transparent version, we recommend you to change the url of the image with your favourite image.          -->

            <div class="container">
                <nav class="pull-left">
                    <ul>
                        <li>
                            <a href="#">
                                Florenca Móveis, Presentes & Decorações
                            </a>
                        </li>
                           </ul>
                </nav>
               <div class="social-area pull-right">

<a href=""><button type="button" class="btn btn-warning">Lista de Presentes</button></a>
<a href="logout.php"><button type="button" class="btn btn-warning">Sair</button></a>
                </div>

            </div>
        </footer>     

         <div class="container text-center">
             <h5></h5>
        </div>
    </div>
    <div class="container">        
          <div class="jumbotron">
            <h2><?= $_SESSION["usuario_logado"] ?></h2>
            <h4>Sejam Benvindos a Florença Moveis, Presentes & Decorações</h4>
            <h5>Ficamos felizes que tenham nos escolhido como sua loja favorita.</h5><br>
            <h5>Escolha os presentes que querem receber e incluam em sua Lista</h5>
          </div>
<!-- /seleção -->

  <div class="alert alert-primary"><h3>Escolha sua Lista</h3></div>
      <main class="container">
      <article class="principal">
            <div class="form-group">
                <select id="select-relatorio" name="categoria_id" class="form-control">
          <option><strong>Selecione</strong></option>
<?php foreach($categorias as $categoria) : ?>  
<option value="<?=$categoria['id']?>">
 <?=$categoria['nome']?>
</option>
<?php endforeach ?>
</select>
</div>
      </article>
    </main>
<!-- /fim da seleção -->

<?php
    $id = isset( $_GET["id"] ) ? $_GET["id"] : null;

    if ($id != null):
        $produtos = listaProdutosporCategoria($conexao, $id);
    endif;

// se neste ponto a $produtos nao existir, cria um array vazio, mas se existir permanece com o valor existente
$produtos = isset( $produtos ) ? $produtos : array();

?>
<br>
<br>
<div class="row">
  <form action="adiciona-produto.php" method="post">
  <?php foreach($produtos as $produto) : ?>
          <div class="col-lg-4">
          <img class="img-rounded" src="../cadastro/fotos/<?=$produto->getFoto() ?>" alt="Generic placeholder image" width="140" height="140">
          <h3><?=$produto->getNome() ?></h3>
          <p> <?= substr($produto->getDescricao(), 0, 40) ?></p>
          <span class="price">R$ <?=$produto->getPreco() ?></span><br>
          <label class="checkbox" for="checkbox1">
                            <input type="checkbox" value="" id="checkbox1" data-toggle="checkbox">
                            Escolher
                          </label><br><br>

        </div><!-- /.col-lg-4 -->
           <?php endforeach ?>

      </div><!-- /.row -->

<center><button type="button" class="btn btn-primary">Adicionar Produtos</button></center>
</form>
     </div><!--/.container-->

   </div>

 <hr>     


</body>