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 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
    • By wandoh
      Boa Tarde! estou com um dificuldades de puxar os dados do usuário logado no site. Atualmente estou conseguindo puxar somente o NOME, quando tento puxar o restante da erro! Abaixo segue o Código.
       
      session_start(); //inicializa variaveis $id = "accountid"; $name = ""; $email = ""; $errors = array(); //conexão db $db = mysqli_connect('localhost', 'root', 'senha', 'db') or die("could not connect to database"); //Registrar usuário if (isset($_POST['reg_user'])) { // receives all input values from the form $name = mysqli_real_escape_string($db, $_POST['name']); $email = mysqli_real_escape_string($db, $_POST['email']); $password = mysqli_real_escape_string($db, $_POST['password']); $password2 = mysqli_real_escape_string($db, $_POST['password2']); //form validação: ensure that the form is correctly filled ... // by adding (array_push)) corresponding error unto $errors array if(empty($name)) { array_push($errors, " "); } if(empty($email)) { array_push($errors, " "); } if(empty($pwd)) { array_push($errors, " "); } if($pwd != $pw2) { array_push($errors, " "); } // To protect MySQL injection (more detail about MySQL injection) $name = stripslashes($name); $password = stripslashes($password); // first check the databese to make sure // verifica na db se a usuário existente com o mesmo nome de usuário e email $user_check_query = "SELECT * FROM t_account WHERE name='$name' or email='$email' LIMIT 1"; $result = mysqli_query($db, $user_check_query); $user = mysqli_fetch_assoc($result); if($user) { // if user existente if ($user['name'] === $name) { array_push($errors, " "); } if ($user['email'] === $email) { array_push($errors, " "); } } // Registra o usuário se não haver erros if (count($errors) == 0 ) { $pwd = md5($pwd); print $pwd; $query = "INSERT INTO t_account (name, email, pwd, pw2) VALUES ('$name', '$email', '$password', '$password2')"; mysqli_query($db, $query); $_SESSION['accountid'] = $id;// $_SESSION['name'] = $name; $_SESSION['success'] = 'Você está logado em'; echo " "; //header('location: index.php'); } } //LOGIN USER if (isset($_POST['login_user'])) { $name = mysqli_real_escape_string($db, $_POST['name']); $password = mysqli_real_escape_string($db, $_POST['password']); if (empty($name)) { array_push($errors, " "); } if (empty($password)) { array_push($errors, " "); } if (count($errors) == 0 ) { $pwd = md5($pwd); $query = "SELECT 'email' FROM t_account WHERE name='$name' AND password='$password'"; $results = mysqli_query($db, $query); if (mysqli_num_rows($results)) { $_SESSION['accountid'] = $id;// $_SESSION['name'] = $name; $_SESSION['success'] = 'Você está logado em'; echo " "; //header('location: index.php'); }else{ array_push($errors, " "); } } } Com a variável abaixo, é exibido o nome de quem esta logado.
      $_SESSION["name"] Já com os demais, não e exibido o resultado é apresentado uma msg de erro.
      $_SESSION["email"] Notice: Undefined index: email in Passei em todos os post que tem sobre o assunto, mas infelizmente em meu código não deu certo.
       Sou novo em PHP!
      Preciso puxar todos os dados cadastrado do usuário.
    • By Rogeriodc9
      Bom dia à todos.

      Estou tendo problemas em colocar um valor, oriundo de uma tabela de dados, no lugar do valor de condição de testes, no comendo While. Abaixo uma parte da expressão, preciso colocar no lugar do valor que condiciona o contador, uma variavel contendo um valor de um registro de uma tabela de dados.

      $conta=1;
          while($conta<=$qpa){

      A variável $qpa deve conter o valor de uma linha de uma tabela. Mas não consigo fazer com que a variável retorne o valor, ela entra na expressão do comando com o valor zerado.

      Estou "pegando" da tabela acordos, a quantidade de parcelas ($qpa), que deve fazer um loop, gerando o parcelamento que será incluído em outra tabela.

      Agradeço se puderem me ajudar.
×

Important Information

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