heldersm 0 Denunciar post Postado Março 17, 2010 ola pessoal, beleza? minha duvida é a seguinte: tenho um formulario pra fazer insert em um banco. só que preciso que ele realize uma consulta no banco, pra ver se não existe nenhum cadastro com o mesmo codigo, assim não duplicando os registros. o codigo que faz o select e o insert e o seguinte: <?php //script banco $cod_nov_esta = $_POST['cod_nov_esta']; $cod_nov_dep = $_POST['cod_nov_dep']; $cod_nov_sec = $_POST['cod_nov_sec']; $cod_nov_apoio = $_POST['cod_nov_apoio']; $cod_nov_aa = $_POST['cod_nov_aa']; $cod_nov_ab = $_POST['cod_nov_ab']; $cod_nov_cad = $_POST['cod_nov_cad']; $cod_nov_cpu = $_POST['cod_nov_cpu']; $cod_nov_gav = $_POST['cod_nov_gav']; $cod_nov_imp = $_POST['cod_nov_imp']; $cod_nov_mesa = $_POST['cod_nov_mesa']; $cod_nov_mon = $_POST['cod_nov_mon']; $cod_nov_sup_cpu = $_POST['cod_nov_sup_cpu']; $bd = 'geo'; $user = 'root'; $host = 'localhost'; $senha = '1302'; $conecta = mysql_connect($host, $user, $senha) or die ("erro de conexao BD". mysql_error()); $link = mysql_select_db($bd, $conecta) or die ("erro selecao bd". mysql_error()); $consulta = mysql_query("SELECT * FROM bloco_a WHERE CODIGO LIKE '$cod_nov_esta'"); $total = mysql_num_rows($consulta); if (($total) > 0){ echo "<h5><span style='color:red'>Essa estação já existe.</span></h5><h5><a href='incluir_popup.php' title='voltar'>Voltar</a></h5>"; } else { $inclui_est = mysql_query("INSERT INTO bloco_a (CODIGO,DEPARTAMENTO,SECRETARIA,APOIO_DE_PE,ARMARIO_ALTO,ARMARIO_BAIXO,CADEIR A,CPU,GAVETEIRO,IMPRESSORA, MESA,MONITOR,SUPORTE_CPU) VALUES ('$cod_nov_esta','$cod_nov_dep','$cod_nov_sec','$cod_nov_apoio','$cod_nov_aa','$cod_nov_ab','$cod_nov_cad', '$cod_nov_cpu','$cod_nov_gav','$cod_nov_imp','$cod_nov_mesa','$cod_nov_mon','$cod_nov_sup_cpu')")or die(mysql_error()); echo "<h5><span style='color:#0606c9'>Nova estação cadastrada.</span></h5><h5><a href='incluir_popup.php' title='voltar'>Voltar</a><h5>"; }; ?> ele pega os dados do formulario via post, faz a consulta do campo cod_nov_est. se o codigo já existir ele retorna o erro, se não existir ele cadastra o novo registro. o problema é que ele esta sempre dando que a estacao já existe. mesmo quando cadastra. tipo, eu cadastro, ele vai pro banco. só que sempre retorna o erro: essa estacao já existe. o que pode estar errado? a minha duvida no update é a seguinte: tenho o seguinte codigo: <?php //script banco $num_pat2 = $_POST['num_pat2']; if ( $num_pat2 == "" ) { $errors.= "<b><span style='color:red'>Escolha uma estação.</span></b>"; } // Se Ouve Erros Ele Finalizar e Mostrar os Erros! if ( $errors != "" ) { echo "$errors"; } else // Se Não Ouve Erros Ele Continua o Cadastro: if ($erros =="") { $num_pat2 = $_POST['num_pat2']; $bd = 'geo'; $user = 'root'; $host = 'localhost'; $senha = '1302'; $conecta = mysql_connect($host, $user, $senha) or die ("erro de conexao BD". mysql_error()); $link = mysql_select_db($bd, $conecta) or die ("erro selecao bd". mysql_error()); $query = ("SELECT * FROM bloco_a WHERE CODIGO LIKE '".$num_pat2."' "); $resultado = mysql_query($query) or die("<b><span style='color:red'>Erro: Preencha os campos corretamente.</span></b>"); $total = mysql_num_rows($resultado); if (mysql_num_rows($resultado) > 0){ while ($linha = mysql_fetch_array($resultado)) { ?> <form method="POST" name="form" action="" target="" id="form" onkeypress="return bloqEnter(event);" > <fieldset> <label for="cod_nov_esta">Código da Estação:</label> <input type="text" name="cod_nov_esta" id="cod_nov_esta" size="23" title="informe o novo codigo da estação" value="<?php echo $linha['CODIGO']; ?>"/> <label for="cod_nov_dep">Nome do Departamento:</label> <input type="text" name="cod_nov_dep" id="cod_nov_dep" size="20" title="informe o novo nome do departamento" value="<? echo $linha['DEPARTAMENTO']; ?>"/> <input type="image" src="imagens/note.gif" border="0" title="lista de departamentos" onClick="javascript:PopupDepartamento(1);" /> <label for="cod_nov_sec">Nome da Secretaria:</label> <input type="text" name="cod_nov_sec" id="cod_nov_sec" size="20" title="informe o novo nome da secretaria" value="<? echo $linha['SECRETARIA']; ?>" /> <input type="image" src="imagens/note.gif" border="0" title="lista de secretarias" onClick="javascript:PopupDepartamento(1);" /></a> <label for="cod_nov_apoio">Patrimônio do Apoio de Pé:</label> <input type="text" name="cod_nov_apoio" id="cod_nov_apoio" size="23" title="informe o novo patrimônio do apoio de pé" value="<? echo $linha['APOIO_DE_PE']; ?>" /> <label for="cod_nov_aa">Patrimônio do Armário Alto:</label> <input type="text" name="cod_nov_aa" id="cod_nov_aa" size="23" title="informe o novo patrimônio do armário alto" value="<? echo $linha['ARMARIO_ALTO']; ?>" /> <label for="cod_nov_ab">Patrimônio do Armário Baixo:</label> <input type="text" name="cod_nov_ab" id="cod_nov_ab" size="23" title="informe o novo patrimônio do armário baixo" value="<? echo $linha['ARMARIO_BAIXO']; ?>" /> <label for="cod_nov_cad">Patrimônio da Cadeira:</label> <input type="text" name="cod_nov_cad" id="cod_nov_cad" size="23" title="informe o novo patrimônio da cadeira" value="<? echo $linha['CADEIRA']; ?>" /> <label for="cod_nov_cpu">Patrimônio da Cpu:</label> <input type="text" name="cod_nov_cpu" id="cod_nov_cpu" size="23" title="informe o novo patrimônio do cpu" value="<? echo $linha['CPU']; ?>"/> <label for="cod_nov_gav">Patrimônio do Gaveteiro:</label> <input type="text" name="cod_nov_gav" id="cod_nov_gav" size="23" title="informe o novo patrimônio do gaveteiro" value="<? echo $linha['GAVETEIRO']; ?>" /> <label for="cod_nov_imp">Patrimônio da Impressora:</label> <input type="text" name="cod_nov_imp" id="cod_nov_imp" size="23" title="informe o novo patrimônio da impressora" value="<? echo $linha['IMPRESSORA']; ?>"/> <label for="cod_nov_mesa">Patrimônio da Mesa:</label> <input type="text" name="cod_nov_mesa" id="cod_nov_mesa" size="23" title="informe o novo patrimônio da mesa" value="<? echo $linha['MESA']; ?>"/> <label for="cod_nov_mon">Patrimônio do Monitor:</label> <input type="text" name="cod_nov_mon" id="cod_nov_mon" size="23" title="informe o novo patrimônio do monitor" value="<? echo $linha['MONITOR']; ?>" /> <label for="cod_nov_sup_cpu">Existe Suporte de Cpu:</label> <input type="text" name="cod_nov_sup_cpu" id="cod_nov_sup_cpu" size="23" title="informe se existe suporte para cpu" value="<? echo $linha['SUPORTE_CPU']; ?>" /> <p align="left"><input type="image" src="imagens/alterar_menor.gif" onClick="Pergunta2();"> <input type="image" src="imagens/alterar_cancelar.gif" onClick="window.location.href='branco.php';"></p> </fieldset> </form> <? loop; } }else{ echo "<h5><span style='color:red'>Estação não encontrada.</span></h5>"; } }; ?> ele é um formulario que fica dentro de um iframe. ele recebe os dados de uma consulta, e transforma ela em um formulario para fazer um update.esta funcionando corretamente. o problema é que sempre que clico no botao cancelar, ou nos botoes cancelar ou listas, ele retorna o erro "Escolha uma estação." por que sera? espero a ajuda de vcs. obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Março 18, 2010 O problema acontece no INSERT ou no UPDATE? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
heldersm 0 Denunciar post Postado Março 20, 2010 iaew matia, no primeiro caso o problema ocorre no insert, quando ele tem que verificar se existe o codigo ja cadastro no banco de dados. caso o codigo exista ele retorna um erro e nao faz o insert no banco, evitando assim de terem dados duplicados. ai caso nao exista o codigo no banco ele faz o insert. entendeu? obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Março 20, 2010 O código do INSERT está aparente correto, exibindo a mensagem quando já estiver cadastrado e cadastrando quando não estiver. No caso do UPDATE, não consegui entender ainda qual o problema. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites