Erro ao salvar FK

22/05/2016

0

PHP

Pessoal,



Tenho o código abaixo, mas quando clico em salvar, dá erro na gravação. O que pode ser?



TABELA NO BANCO

CREATE TABLE tab_entradaestoque(
      id int auto_increment primary key not null,
      id_produto int not null,
id_fornecedor int not null,
valorunitario float(10) not null,
quantidade int not null,
nfiscal int not null,
      data_entrada date not null
FOREIGN KEY (id_fornecedor) references tab_fornecedor(id_fornecedor),
      FOREIGN KEY (id_produto) references tab_produto(id_produto) 
);

ENTRADAPRODUTOESTOQUE.PHP


<?php
include 'conexao.php';
$data = date('d-m-Y');


// Recebe o id do produto via GET
$id_cliente = (isset($_GET['id'])) ? $_GET['id'] : '';

// Valida se existe um id e se ele é numérico
if (!empty($id_cliente) && is_numeric($id_cliente)):

    // Captura os dados do produto solicitado
    $conexao = conexao::getInstance();
    $sql = "SELECT * FROM tab_produto WHERE id_produto = :id";
    $stm = $conexao->prepare($sql);
    $stm->bindValue(':id', $id_cliente);
    $stm->execute();
    $cliente = $stm->fetch(PDO::FETCH_OBJ);

endif;

?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="css/custom.css">
</head>
<body>
    <div class='container'>
        <fieldset>
            <legend><h1>Formulário - Registrar Entrada - Estoque</h1></legend>
            
            <?php if(empty($cliente)):?>
                <h3 class="text-center text-danger">Cliente não encontrado!</h3>
            <?php else: ?>
                <form action="action_entradaestoque.php" method="post" id='form-contato' enctype='multipart/form-data'>
                    
                <div class="form-group">
                  <label for="nome">Nome</label>
                  <input type="text" class="form-control" id="nome" name="nome" value="<?=$cliente->nome_produto?>" placeholder="Infome o Nome">
                  <span class='msg-erro msg-nome'></span>
                </div>
                
                <div class="form-group">
                  <label for="valor">Valor Unitário</label>
                  <input type="valor" class="form-control" id="valor" name="valor" placeholder="Informe o Valor Unitário">
                  <span class='msg-erro msg-valor'></span>
                </div>
                
                <div class="form-group">
                  <label for="quantidade">Quantidade </label>
                  <input type="quantidade" class="form-control" id="quantidade" name="quantidade" placeholder="Informe a Quantidade Adquirida"disable>
                  <span class='msg-erro msg-quantidade'></span>
                </div>
                
                <div class="form-group">
                  <label for="nfiscal">Nº Nota Fiscal </label>
                  <input type="nfiscal" class="form-control" id="nfiscal" maxlength="15" name="nfiscal" placeholder="Informe o Nº da Nota Fiscal de Compra">
                  <span class='msg-erro msg-nfiscal'></span>
                </div>

                <div class="form-group">
                    <label for="categoria">Fornecedor</label>
                    <select class="form-control" name="categoria" id="categoria">
                        <option value="">Selecione o Fornecedor</option>
                        
                    <?
                    
                    $sql2= mysql_query("SELECT id_fornecedor, nome_fornecedor FROM tab_fornecedor order by nome_fornecedor") or die("Erro");
                    while ( $query2 = mysql_fetch_array($sql2))
                            {
                                    $id_fornecedor = $query2['id_fornecedor'];
                                    echo "<option value='".$query2['id_fornecedor']."'>".$query2['nome_fornecedor']."</option>";                                
                            }

                    ?>            
                        
                    </select>
                </div>
                    
                    <input type="hidden" name="acao" value="editar">
                    <input type="hidden" name="ids" value="<?=$query2->id_fornecedor?>">
                    <input type="hidden" name="id" value="<?=$cliente->id?>">
                    <button type="submit" class="btn btn-primary" id='botao'> 
                      Gravar
                    </button>
                    <a href='indexprodutoestoque.php' class="btn btn-danger">Cancelar</a>
                </form>
            <?php endif; ?>
        </fieldset>

    </div>
    <script type="text/javascript" src="js/custons.js"></script>
</body>
</html>









ACTION_ENTRADAESTOQUE.PHP




<?


    include "conexao.php";


        // Recebe os dados enviados 
        $acao  = $_POST['acao'];
        $nome = $_POST['nome'];
        $id  = $_POST['id'];
        $valor  = $_POST['valor'];
        $idf  = $_POST['ids'];
        $quantidade = $_POST['quantidade'];
        $nfiscal = $_POST['nfiscal'];
        $categoria = $_POST['categoria'];


        // Valida os dados recebidos
        
        
        
        if ($nome == '' || strlen($nome) < 3){
                $mensagem .= '<li>Favor preencher o Nome.</li>';
        
        }

        elseif($categoria == ''){
        $mensagem .= '<li>Favor preencher a Categoria.</li>';
        
    }
        elseif($nfiscal == ''){
        $mensagem .= '<li>Favor preencher o Número da Nota Fiscal de Compra.</li>';
        
    }
        elseif($quantidade == ''){
        $mensagem .= '<li>Favor preencher a Quantidade.</li>';
        
    }
        elseif($valor == ''){
        $mensagem .= '<li>Favor preencher o Valor Unitário.</li>';
        
    }
    
        else{

            $sql = "insert into tab_entradaestoque(id_produto, valorunitario, quantidade, nfiscal, id_fornecedor, dataentrada) 
                values ('$id','$valor','$quantidade','$nfiscal', '$idf', 'now()')";    
            mysql_query($sql) or die ("Erro na tentativa de gravação");    
Lorrana

Lorrana

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar