Jump to content

Question

Não estou conseguindo inserir dados em uma tabela n:m

Codigo do formulario: 

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset ="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="../_css/botoes.css">
     <link rel="stylesheet" type="text/css" href="../_css/formulario.css">
    <title>Cadastro de Pedido/Produto</title>
</head>
<body>
 <!-- Menu -->
 <nav class="navbar navbar-expand-lg navbar-light bg-primary">
        <div class="data" style="text-align:right;">
            <script type="text/javascript" src="../js/data.js"></script>
        </div>
        <div class="container">
            <div class="collapse navbar-collapse" id="navbarSite">
                <ul class="navbar-nav mr-auto mb-0 mx-auto">
                    <li class="nav-item">
                        <a class="nav-link" href="../index.php">Inicio</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="../read/listarPedidoProduto.php"> Tabela </a>
                    </li>
                </ul>
            </div>
            </div>
        <div class="hora">
            <label ID="Clock">00:00:00</label>
            <script type="text/javascript" src="../js/hora.js"></script>
        </div>
    </nav>
    <!--Fim do menu-->
    <div class="container">
    <h1 class="text-center"> Cadastro de Pedido Produto</h1>
    <form method="post" action="processaPedidoProduto.php" class="form-signin">
        <input type="text" name="pedido_numero" class="form-control" placeholder="Numero do Pedido"> <br><br>
        <input type="text" name="produto_codigo" class="form-control"  placeholder="Codigo do Produto"><br><br>
        <input type="text" name="quantidade" class="form-control"  placeholder=" Quantidade Pedida"><br><br>
        <input type="submit" name="enviarCadastro" value="Cadastrar" class="form-control btn btn-estilo"><br><br>
        <input type="reset" value="Apagar" class="form-control btn btn-estilo">
    </form>
    <div class="container text-center">
    <?php
        if(isset($_SESSION['msg'])){
            echo $_SESSION['msg'];
            unset($_SESSION['msg']);
        }
    ?>
    </div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
    <script src="../js/personalizado.js"></script>
</body>
</html>

Codigo que envia os dados para o banco:

<?php
session_start();
include("../conexao.php");
    $pedido_numero =$_POST['pedido_numero'];
    $produto_codigo =$_POST['produto_codigo'];
    $quantidade =$_POST['quantidade'];
 $sql = "INSERT INTO pedido_produto(pedido_numero, produto_codigo, quantidade) VALUES($pedido_numero, '$produto_codigo', $quantidade)";
   if($conexao->exec($sql)){
    $_SESSION['msg'] = "<p style = 'color:green;'>Cadastro Realizado com sucesso!</p>";
   }else{
    $_SESSION['msg'] = "<p style = 'color:red;'>Erro: Cadastro falhou!</p>";
   }
header("Location: cadastrarPedidoProduto.php");
?>

codigo da tabela em questão:

CREATE TABLE IF NOT EXISTS `pedido_produto` (
  `pedido_numero` INT NOT NULL,
  `produto_codigo` VARCHAR(45) NOT NULL,
  `quantidade` INT NOT NULL,
  PRIMARY KEY (`pedido_numero`, `produto_codigo`),
  INDEX `fk_produto_codigo_idx` (`produto_codigo` ASC) ,
  INDEX `fk_pedido_numero_idx` (`pedido_numero` ASC) ,
  CONSTRAINT `fk_produto_pedido`
    FOREIGN KEY (`pedido_numero`)
    REFERENCES .`pedido` (`numero`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_produto_codigo`
    FOREIGN KEY (`produto_codigo`)
    REFERENCES .`produto` (`codigo`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

 

Estou conseguindo visualizar e deletar os dados, mas inserir e atualizar, não estou conseguindo.
Obs: tenho outras 3 tabelas e utilizo o mesmo comando para inserir e elas inserem tudo certinho

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

"Utilizando o mesmo código", porém com

uma tabela diferente, obtive sucesso,

sendo assim, suponho que o erro possa

estar em sua tabela.

 

Segue exemplo utilizado:

 

 

TABELA A SER UTILIZADA

CREATE TABLE pedido_produto (
	pedido_numero INT NOT NULL,
	produto_codigo VARCHAR(45) NOT NULL,
	quantidade INT NOT NULL,
	PRIMARY KEY (pedido_numero)
);

 

CÓDIGO [ cadastrarPedidoProduto.php ]

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset ="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="../_css/botoes.css">
     <link rel="stylesheet" type="text/css" href="../_css/formulario.css">
    <title>Cadastro de Pedido/Produto</title>
</head>
<body>
 <!-- Menu -->
 <nav class="navbar navbar-expand-lg navbar-light bg-primary">
        <div class="data" style="text-align:right;">
            <script type="text/javascript" src="../js/data.js"></script>
        </div>
        <div class="container">
            <div class="collapse navbar-collapse" id="navbarSite">
                <ul class="navbar-nav mr-auto mb-0 mx-auto">
                    <li class="nav-item">
                        <a class="nav-link" href="../index.php">Inicio</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="../read/listarPedidoProduto.php"> Tabela </a>
                    </li>
                </ul>
            </div>
            </div>
        <div class="hora">
            <label ID="Clock">00:00:00</label>
            <script type="text/javascript" src="../js/hora.js"></script>
        </div>
    </nav>
    <!--Fim do menu-->
    <div class="container">
    <h1 class="text-center"> Cadastro de Pedido Produto</h1>
    <form method="post" action="processaPedidoProduto.php" class="form-signin">
        <input type="text" name="pedido_numero" class="form-control" placeholder="Numero do Pedido"> <br><br>
        <input type="text" name="produto_codigo" class="form-control"  placeholder="Codigo do Produto"><br><br>
        <input type="text" name="quantidade" class="form-control"  placeholder=" Quantidade Pedida"><br><br>
        <input type="submit" name="enviarCadastro" value="Cadastrar" class="form-control btn btn-estilo"><br><br>
        <input type="reset" value="Apagar" class="form-control btn btn-estilo">
    </form>
    <div class="container text-center">
    <?php
        if(isset($_SESSION['msg'])){
            echo $_SESSION['msg'];
            unset($_SESSION['msg']);
        }
    ?>
    </div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
    <script src="../js/personalizado.js"></script>
</body>
</html>

 

CÓDIGO [ processaPedidoProduto.php ]

<?php
session_start ();

# SIMPLE CONN
$conexao = new PDO (
	'mysql:host=localhost;dbname=teste_001;', 'root', ''
);

$pedido_numero = $_POST['pedido_numero'];
$produto_codigo = $_POST['produto_codigo'];
$quantidade = $_POST['quantidade'];

$sql = "
	INSERT INTO pedido_produto ( pedido_numero, produto_codigo, quantidade )
	VALUES (
		$pedido_numero, '$produto_codigo', $quantidade
	)
";

if ( $conexao->exec ( $sql ) ) {
	$_SESSION['msg'] = "<p style = 'color:green;'>Cadastro Realizado com sucesso!</p>";
} else {
	$_SESSION['msg'] = "<p style = 'color:red;'>Erro: Cadastro falhou!</p>";
}

header ( "Location: cadastrarPedidoProduto.php" );

 

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 Luiz Henrique
      Olá,
       
      Preciso fazer uma inserção no DB de registros referente a pagamentos, quando for no crédito será realizado o insert com sua respectiva data de compensação e valor da parcela exemplo:
       3 parcelas de 100.00 e cada registro em seu devido mês:
      INSERT INTO tabela (valor, data) VALUES (100, 2022-08-17),(100, 2022-09-17),(100, 2022-10-17) É mais eficiente fazer da forma acima ou colocar 3 INSERT?
      Ou existe forma melhor de fazer isso?
       
      Obrigado.,
       
    • By ROGERIO MOREIRA
      Olá,
       
      preciso gerar listagem do meu banco de dados mas preciso definir um certo item como cabeça na pesquisa:
       
      ex:
      quero listar meus registros em orderm de:
       
      primeiro ESTADO    (ordem alfabetica)
      depois    CIDADE     (ordem alfabetica)
      depois    BAIRRO,    porém, quero colocar CENTRO em primeiro, depois os outros bairros
       
    • By Sapinn
      Estou usando o editor SummerNote em um projeto mas ele não está enviando os dados com o HTML apenas o texto. Eu estou colocando assim:

               
                                        <textarea id="summernote" class="textarea" required name="content">     <script> $('#summernote').summernote({         tabsize: 2,         height: 500,         toolbar: [           ['style', ['style']],           ['font', ['bold', 'underline', 'clear']],           ['color', ['color']],           ['para', ['ul', 'ol', 'paragraph']],           ['table', ['table']],           ['insert', ['link', 'picture', 'video']],           ['view', ['fullscreen', 'codeview', 'help']]         ]       });           </script>  
       
    • By marcelo.ourico
      Boa noite. Pessoal, mais uma vez aqui pedindo uma ajuda.

      Estou tentando enviar uma NFSe via SOAP.

      Estou recebendo o seguinte erro:

      Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] ERRO : cvc-complex-type.4: Attribute 'Algorithm' must appear on element 'ns2:CanonicalizationMethod'. in

      O meu Array está da seguinte forma:
      Array
      (
      [CanonicalizationMethod] => Array
      (
      [@attributes] => Array
      (
      [Algorithm] => http://www.w3.org/TR/2001/REC-xml-c14n-20010315
      )
      )

      Não entendi o porque desse erro, alguém sabe ajudar?
    • By Sapinn
      Galera estou usando o PHPStorm para alguns projetos e estou com meus arquivos marcados em vermelho não sei oq é alguem pode me ajuda?
       
       

×

Important Information

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