Jump to content
Rodrigo Vieira E da Silva

ID e Múltiplos dados

Recommended Posts

 

Olá pessoal do Forúm tudo bem com vocês?

 

Eu estou com a seguinte dúvida eu tenho um formulário com um grupo de checkbox relacionado alguns serviços veja abaixo:

 

  • Mecânica

  • Funilaria

  • Pintura

  • Cristalização

  • Box (Mêcanica / Fulinaria / Pintura / Cristalização)

 

Eu tenho duas tabelas no meu banco de dados chamada pedido e serviço.

 

A tabela de PEDIDO eu tenho os seguintes campos

 

ID

ID_SERVICO

 

A tabela de SERVIÇOS eu tenho os seguintes campos

 

ID

SERVICO

 

A minha dúvidas são:

 

  1. Como eu faço para adicionar um pedido para cada serviço selecionado?

  2. No item Box eu preciso gerar um único número de pedido mas para o Box na tabela na serviço tem que guardar separado cada serviço mas o numero desse pedido é o mesmo, como fazer isso?

 

Eu estou usando Mysqli como drive de banco de dados.

 

Share this post


Link to post
Share on other sites

Olá!
Aparentemente é da forma que você está fazendo mesmo
na tabela itermediária ficaria assim:

pedido 7
serviço 1

pedido 7
seviço 2

pedido 7
serviço 3
...

a não ser que você queira usar json, então ficaria assim:
servicos {"7":[1,2,3]}

 

nesse caso, talvez fosse melhor salvar na própria tabela do pedido

Share this post


Link to post
Share on other sites

Na verdade o que quero é o seguinte

 

Exemplo:

 

Pedido: 01

Serviço: Mecânica

 

Pedido: 02

Serviço: Funilaria

 

Pedido: 03

Serviço: Pintura

 

Caso selecione somente o Box ficar assim:

 

Pedido: 04

Serviço: Mecânica

 

Pedido: 04

Serviço: Funilaria

 

Pedido: 04

Serviço: Pintura

 

Pedido: 04

Serviço: Cristalização.

 

Como chegar nessa lógica.

Share this post


Link to post
Share on other sites

Acho que o nome da tabela acabou dificultando a interpretação, pelo que entendi cada pedido pode ter vários itens só que você está utilizando a tabela PEDIDO para armazenar os itens, nesse caso o ideal seria criar uma tabela adicional para os itens.

Tabela: PEDIDO
ID
...
Tabela: PEDIDO_ITENS
ID
ID_PEDIDO
ID_SERVICO
Tabela: SERVIÇOS
ID
SERVICO

 

Não recomendo o que direi a seguir, mas supondo que o número seja a única informação do pedido você poderia então alterar sua tabela PEDIDO e adicionar um campo NUMERO que será igual para todos os itens do mesmo pedido (como gerar esse número é outra história).

Tabela: PEDIDO
ID
NUMERO
ID_SERVICO

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By biakelly
      Oi meninos,
       
       
      Peguei um projeto para trabalhar, confesso que ainda estou aprendendo PHP, bem estou recebendo erros nolog do servidor assim: 
       
      PHP Notice:  Use of undefined constant hora - assumed 'hora' in /home/asak9esch1ja/public_html/config/connect.php on line 19
      [22-Jan-2020 10:57:21 UTC] PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO
       
       
      O servidor esta em PHP 5.6 acredito que esses erros sejam decorrentes dos arquivos de conexão, correto? Se sim, como posso atualizar para a conexão correta?
      Segue abaixo meus dois arquivos.
       
       
       
      Conexao.php
      <?php include_once(dirname(__FILE__)."/config.inc.php"); $db=@mysql_connect($DBSERVER, $USERNAME, $PASSWORD); if (!$db) die('<br /><br /><center><h1>Problemas no servidor:<br /></h1><h3>' . mysql_errno().': '. mysql_error().'</h3></center>'); $resp=@mysql_select_db($DATABASENAME,$db); if (!$resp) die('<br /><br /><center><h1>Banco de dados não foi encontrado!</h1></center>'); include_once(dirname(__FILE__)."/../language/english.php"); if ($timezone_set=="") $timezone_set = "-02:00"; date_default_timezone_set($timezone_set); $sql = @mysql_query("SET TIME_ZONE = '".$timezone_set."'"); //$sql = @mysql_query("Set @@global.timezone = '".$timezone_set."';"); $sql = @mysql_query("Select Now() as hora"); $dados = @mysql_fetch_array($sql); $Hora_Servidor_MySQL = date('Y/m/d H:i:s',strtotime($dados[hora])); //echo ">> $Hora_Servidor_MySQL << "; function utf8ize($d) { if (is_array($d)) { foreach ($d as $k => $v) { $d[$k] = utf8ize($v); } } else if (is_string ($d)) { return utf8_encode($d); } return $d; } ?>  
       
      Config.php:
      <?php @session_start(); ################################################### # Banco de dados ################################################### $DBSERVER ="localhost"; //servidor "localhost" $USERNAME = "usuariomeusite"; // usuario .."root" $PASSWORD = "senhameusite"; //senha $DATABASENAME = "_DB-meusite_"; //banco de dados ################################################### # Configurações do site ################################################### // Titulo geral $AllPageTitle = "meusite.com"; // Endereco do seu site SEM a barra no final como no exemplo: http://www.seusite.com.br $SITE_URL = "https://www.meusite.com"; // E-mail para clientes entrarem em contato $adminemailadd = "contato@meusite.com"; // precisa ser um email do mesmo dominio // se possuir algum dos canais abaixo preencha o endereco e o icone correspondente aparecera no rodapé da pagina $facebook = 'http://facebook.com'; $twitter = 'http://twitter.com'; $youtube = 'http://youtube.com/'; $googleplus = 'http://plus.google.com/'; ################################################### ################################################### # Outras configurações, não alterar. ################################################### $SMSUSERNAME = ""; $SMSPASSWORD = ""; $SMSIPPAGE = ""; $timezone_set = "-03:00"; // Brasil sem horario de verão = "-03:00" $use_stored = true; $aceite_lance_futuro = true; $PRODUCTSPERPAGE_MYACCOUNT = 6; $use_tema = '2'; $PRODUCTSPERPAGE = 10; $total_per_ini2 = 10; $max_pages2 = 100; $items_per_page2 = 5; $Currency = "R$"; $SMSrate = 1.50; $SMSsendnumber = ""; ?>  
    • By juninhogpe
      Bom dia pessoal.
       
      Estou fazendo um CRUD e me deparei com a situação que tenho o formulário de alteração de dados do cliente, e nesse formulário tenho um campo do tipo "select" onde trago o convênio do cliente.
       
      No cadastro foi tranquilo para exibir as informações do banco de dados, mais no form de alteração como eu poderia exibir a informação para que eu possa trazer esses dados e realizar a alteração?
       
      Código
      <select class="form-control" name="convenio"> <?php $sql = "SELECT * FROM convenio"; $resultado = $conn->query($sql); while ($exibe = $resultado->fetch_assoc()){ echo utf8_encode("<option value=".$exibe['id'].">".$exibe['nome']."</option>"); } ?> </select> Mesmo com o código acima, não é exibido nada.
    • By joao_vinicius
      Olá, estou tentando aprender php e estou bem no começo. Tenho uma dúvida: como fazer uma "recepção" do tipo "olá, +nome do usuario+", logo depois que ele se cadastrar? estou conseguindo fazer este processo depois que ele loga, usando email e senha, mas quero que isso aconteça logo depois do formulário de cadastro. Sei que tem a ver com session, mas estou tendo dificuldades. Obrigado
    • By Airton Gallego Neto
      OI sou airton, estou fazendo um projeto no bootstrap com banco de dados e queria saber o que é esse erro e como que eu faço pra resolver
       
      na tela de atualização de meu site aparece isso
      Notice: Undefined index: prod_desc in C:\xampp\htdocs\vendas\produto\insert.php on line 4

      Notice: Undefined index: prod_pre in C:\xampp\htdocs\vendas\produto\insert.php on line 5
      ERRO: Column count doesn't match value count at row 1
       sendo que meu codigo esta assim
       
      no insert:
      <?php     require '../conecta.php';       $descricao = $_POST['prod_desc'];     $valor = $_POST['prod_pre'];       $sql = "INSERT INTO produtos(prod_pre)             VALUES ($valor)";          //mysqli_query($link,$sql) or die("Falha ao inserir Produto");     mysqli_query($link,$sql);       echo "ERRO: " . mysqli_error($link);  
       
      e no update esta assim
      <?php     require '../conecta.php';          $descricao = $_POST['descricao'];     $valor = $_POST['valor_unitario'];     $id = $_POST['id_produto'];       $sql = "UPDATE produto             SET descricao = '$descricao',                 valor_unitario = $valor             WHERE id_produto = $id";     mysqli_query($link,$sql) or die("Falha ao editar Produto");       header('Location: index.php');  
       
       
       
       
       
       
       
          //header('Location: index.php');
    • By groudon900
      segue o codigo que estou usando 
       
      <?php //Receber o número da página $pagina_atual = filter_input(INPUT_GET,'pagina', FILTER_SANITIZE_NUMBER_INT); $pagina = (!empty($pagina_atual)) ? $pagina_atual : 1; //Setar a quantidade de itens por pagina $qnt_result_pg = 20; //calcular o inicio visualização $inicio = ($qnt_result_pg * $pagina) - $qnt_result_pg; $result_usuarios = "SELECT * FROM vendas ORDER BY data DESC LIMIT $inicio, $qnt_result_pg"; $resultado_usuarios = mysqli_query($conn, $result_usuarios); while($row_usuario = mysqli_fetch_assoc($resultado_usuarios)){ ?> <tbody> <tr> <td><img src="../foto/foto_pagamentos/<?php echo $row_usuario['fotos'] ?>" class="foto2"></td> <td><?php echo $row_usuario['cliente'] ?></td> <td><?php echo $row_usuario['email'] ?></td> <td><?php echo $row_usuario['servico'] ?></td> <td><?php echo $row_usuario['data'] ?></td> <td>R$ <?php echo $row_usuario['valor'] ?></td> <td><?php echo $row_usuario['metodo'] ?></td> <td><?php echo $row_usuario['status'] ?></td> <td><?php echo $row_usuario['ultimaalteracao'] ?></td> <td><div class="dropdown no-arrow"> <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-600"></i> </a> <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink"> <div class="dropdown-header">PAGAMENTOS:</div> <a class="dropdown-item" href="criarpagamentos?id=<?php echo $row_usuario['id'] ?>">Criar Pagamentos</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="proc_apagar_pagamentos.php?id=<?php echo $row_usuario['id'] ?>">Apagar Pagamentos</a> </div> </div></td> </tr> <?php } ?>  
      queria fazer um filtro de busca, Tipo pra buscar por um nome especifico ou serviço
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.