Ir para conteúdo

POWERED BY:

Arquivado

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

heldersm

select + insert e update (php e mysql)

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.