Ir ao conteúdo

Como inserir dados do formulário escolhendo a tabela?


rafaelnai

Posts recomendados

Postado

Sou iniciante em programação, e atualmente estou desenvolvendo um sistema de cadastro de produtos básico. Porém eu queria selecionar a tabela que o produto vai ser salvo. Por exemplo: 

Quero salvar o produto 'CDM01' na tabela 'caneta de metal', mas quero que o produto 'CDP01' seja salvo na tabela 'caneta de plastico' e assim por diante. são em média 20 categoria. Porém não sei como fazer, procurei em alguns tutoriais mas ainda não estou conseguindo.

 

HTML: 

<form action="includes/inserir.php" enctype="multipart/form-data" method="post">     <label> Nome do Produto: </label> <br/>          <input type="text" name="nProduto"/><br/><br/>     <label>Código:</label> <br/>          <input type="text" name="cProduto"/><br/><br/>     <label>Descrição:</label> <br/>          <textarea rows="10" cols="50" name="dProduto"/></textarea><br/><br/>          <input type="file" accept="image/*" name="pImagem"/> <br/> <br/>      <select name="tabelas">          <option value="0">Escolha uma categoria</option>
         
 
 
<?phpinclude 'configs/conexao.php';          $sql = ' SHOW TABLES ';          $query = mysql_query($sql);          while($dados = mysql_fetch_row($query)) {            echo"<option value='$dados[0]'>$dados[0]</option>" ;          }       mysql_close($conexao);      ?>      </select><input type="submit" name="button" value="registrar"></form>

 

PHP:

 

<?php ini_set ('default_charset','UTF-8'); ?><?phpinclude "../configs/conexao.php";$nomeProduto = $_POST["nProduto"];$codigoProduto = $_POST["cProduto"];$descricaoProduto = $_POST["dProduto"];$arquivoTMP = $_FILES["pImagem"]["tmp_name"];$nomeArquivo = $_FILES["pImagem"]["name"];$tabela  = $_POST['tabelas'];if($nomeProduto == "" || $codigoProduto == "" || $descricaoProduto == "") {echo "<script> alert('Preencha todos os campos!')</script>";return true;}$pExtensao  = strrchr ($nomeArquivo, '.');$pExtensao = strtolower($pExtensao);$pNovoNome = md5(time()) . $pExtensao;$pDestino = "imagens/" . $pNovoNome;move_uploaded_file($arquivoTMP, $pDestino);$caneta_metal = "INSERT INTO caneta de metal(Produto, Codigo, Descricao, Imagem) VALUES ('$nomeProduto', '$codigoProduto', '$descricaoProduto', '$pDestino')" or die (mysql_error());$caneta_plastico = "INSERT INTO caneta de plastico(Produto, Codigo, Descricao, Imagem) VALUES ('$nomeProduto', '$codigoProduto', '$descricaoProduto', '$pDestino')" or die (mysql_error());$marca_texto = "INSERT INTO 'marca-texto'(Produto, Codigo, Descricao, Imagem) VALUES ('$nomeProduto', '$codigoProduto', '$descricaoProduto', '$pDestino')" or die (mysql_error()); switch($tabela) {    case 'caneta de metal': $caneta_metal; $comando = mysql_query($caneta_metal);                          break;    case 'caneta de plastico':     $caneta_plastico; $comando2 = mysql_query($caneta_plastico);                          break;    case 'marca-texto': $marca_texto; $comando3 = mysql_query($marca_texto);            break; }?>
 

 

Postado

Estou desenvolvendo o meu primeiro projeto, e nele eu tenho um menu com categorias de produtos (cerca de 20), então nesse sistema de cadastro, quero que quando alguém cadastre esse produto possar escolher a categoria. Por exemplo:

 

 

Nome produto: Caneta de Metal

Código: CDM01

Descrição: Qualquer descrição

Imagem: imagem.jpg

Categoria: Caneta de Metal

 

Nesse caso, ela ficaria na tabela "Caneta de Metal". Assim, quando eu listar os produtos eu possa visualizar por categoria.

Postado

Entendi, mas nesse caso, que é o clássico, é apenas adicionar um campo adicional na tabela de cadastro com o código da categoria, e quando salvar o produto, salva também a categoria, uma tabela auxiliar para a categoria pode ser criada, se for necessária a inclusão de novas categorias (e isso provavelmente vai ocorrer), e quando tu quiser carregar os dados pode verificar a qual categoria o produto pertence.

  • Moderador
Postado

Olá,

 

Primeiramente, você tem uma ideia errada do banco de dados.

 

 

 

Quero salvar o produto 'CDM01' na tabela 'caneta de metal', mas quero que o produto 'CDP01' seja salvo na tabela 'caneta de plastico' e assim por diante.

O mais correto é criar uma tabela de categoria e uma tabela de produtos.

A tabela categoria terá apenas dois campos: ID auto incrementado e nome da categoria.

Na tabela de produtos além dos campos para o produto, você criará um campo recebendo o ID da categoria.

 

Assim você poderá distinguir  que o produto CDM01 é uma caneta de metal  e o CDP01 é uma caneta de plástico.

 

Lembre de que suas tabelas devem ter o engine do tipo innoDB para que os relacionamentos possam funcionar.

 

fora,, isso você não precisa " escolher" a tabela que vai inserir.. até porque você não vai criar 20 tabelas para cada categoria.. isso estaria fugindo das normas formais... e seu banco de dados poderá conter inconsistência de dados.

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!