Jump to content


Photo

Erro ao salvar FK


  • Faça o login para participar
1 reply to this topic

#1 Loh2

Loh2

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Feminino
  • Localidade:Uberlândia

Posted 22/05/2016, 18:19

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");    

 

 

 

 



#2 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 15/06/2016, 21:50

Olá a mensagem de erro que retorna é "Erro na tentativa de gravação" ? Caso seja, altere para mysql_error(); e retorne no fórum com a mensagem de erro.

 

Ex:

mysql_query($sql) or die (mysql_error());

-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq