Ola gostaria de saber como faz pra antes de cadastrar um item no bando de dados, verificar c esse item ja existe, ou seja, ja esta cadastrado !?!?!?
[]'s

Registro Ja Foi Cadastrado
Started By Edu.dreyer, 04/05/2007, 09:47
3 replies to this topic
#1
Posted 04/05/2007, 09:47
#### DUDUDREYER #####
#2
Posted 04/05/2007, 09:57
antes de inserir você faz uma consulta no banco de dados verificando se tal item ja foi cadastrado, ex:
T+
SELECT * FROM tabela WHERE item = '{$_POST['item']}'e coloca um IF verificando se alguma linha foi afetada.
T+
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951
PALMEIRAS - Primeiro campeão do mundo em 1951
#3
Posted 04/05/2007, 10:04
Geralmente, recomenda-se fazer esta verificação direto no banco de dados, para poupar uma query no código.
Você pode adicionar uma unique key apontando para o campo que você quer que seja unica, no caso o nome, mas dae tem que ser o nome exato para a restrição do campo funcionar corretamente.
Mas caro queria fazer por query mesmo, use assim:
Dae mostra na tela para o usuário não checar se ele não cadastrou um produto com o nome parecidíssimo.
(as vezes, ele cadastra um produto e depois vai e cadastra o mesmo, apenas mudando alguma letra do nome, por engano).
Você pode adicionar uma unique key apontando para o campo que você quer que seja unica, no caso o nome, mas dae tem que ser o nome exato para a restrição do campo funcionar corretamente.
Mas caro queria fazer por query mesmo, use assim:
$SQL = SELECT * FROM tabela WHERE item LIKE '%" . $nome_item . "%'";
Dae mostra na tela para o usuário não checar se ele não cadastrou um produto com o nome parecidíssimo.
(as vezes, ele cadastra um produto e depois vai e cadastra o mesmo, apenas mudando alguma letra do nome, por engano).

#4
Posted 04/05/2007, 10:32
Esse like com coringa não seria a melhor opção é
melhor usar
PS> Usei tudo sepado assim so para facilitar o seu entendimento, mas crie uma função para tratar parametros e não compare diretamente no SQL uma coisa que vc não tratou.
melhor usar
$usuario = $_POST['item']; $usuario = trim($usuario ); $usuario = addslashes($usuario); "SELECT ID_USUARIO, NOME_USUARIO FROM tb_usuarios WHERE USUARIO = '$usuario'
PS> Usei tudo sepado assim so para facilitar o seu entendimento, mas crie uma função para tratar parametros e não compare diretamente no SQL uma coisa que vc não tratou.
*************************************************************
LISTA PHP
http://groups.google.../group/listaphp
*************************************************************
LISTA AJAX
http://groups.google...oup/ajax-brasil
*************************************************************
LISTA WEBSTANDARDS
http://groups.google...ta-webstandards
*************************************************************
REVISTA PHP
http://WWW.REVISTAPHP.COM.BR
LISTA PHP
http://groups.google.../group/listaphp
*************************************************************
LISTA AJAX
http://groups.google...oup/ajax-brasil
*************************************************************
LISTA WEBSTANDARDS
http://groups.google...ta-webstandards
*************************************************************
REVISTA PHP
http://WWW.REVISTAPHP.COM.BR
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)