Ir para conteúdo

POWERED BY:

Arquivado

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

marcosfj1

[Resolvido] verificar se o codigo ja existe no banco

Recommended Posts

Seguinte tem um campo de texto para o usuario digitar o codigo do produto, mas quero fazer um verificaçao se o codigo ja existe e caso existe aparecer um alerta fiz da seguinte maneira mas nao esta dando certo, alguem me ajuda

 


$sql = "SELECT P.codigo
	FROM produto
	WHERE P.codigo IS NOT NULL";
	$codigo = mysql_query($sql);
		
	if($_POST['codigo'] == $codigo)
	$alert = 'Este codigo já existe. Digite outro!';

Alguem pode me ajudar?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

faltou você usar algum mysql_fetch_...

para guardar o retorno num array|objeto... já que o retorno do mysql_query() não faz sentido nesse contexto que você usou.

 

 

porém, seria mais simples fazer assim:

$sql = "SELECT P.codigo
        FROM produto
        WHERE P.codigo = {$_POST['codigo']}";
        $query = mysql_query($sql);
        if( mysql_num_rows( $query ) )
            $alert = 'Este codigo já existe. Digite outro!';
ou seja, se retornar alguma linha, então já existe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara eh o seguinte... eu acho que eh tudo junto o código ;D

 

tipo assim:

$sql = "SELECT P.codigo FROM produto WHERE P.codigo IS NOT NULL";

$codigo = mysql_query($sql);

 

tenta aew ;D se nao der eu nao sei T.T

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas 'só isso', não vai impedir nunca

 

oque vem abaixo ?

onde você faz o cadastro ?

 

oque você quer fazer com a variavel $alert ?

 

apenas arrumei a consulta, e não a lógica do sistema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara to o sistema ja ta funcionando abaixo, eu verifico se os campos estao em branco por exemplo....meu problema é realmente verificar se o codigo ja existe no banco

 

a variavel $alert é responsavel por mandar um javascript na tela falando q tal campo nao pode ser em branco...entao eu usaria ela tambem para ver se o codigo é repitido

Compartilhar este post


Link para o post
Compartilhar em outros sites

        $linha = "SELECT P.codigo FROM produto WHERE P.codigo = ".$_POST['codigo'].";";	
        $codigo =  mysql_fetch_array($linha);		
	if($_POST['codigo'] == $codigo['P.codigo']){
	$alert = 'Este codigo já existe. Digite outro!';
        }

 

tenta esse ai mano aki deu beleza

Compartilhar este post


Link para o post
Compartilhar em outros sites

A muito tempo abrir este topico e posso dizer que ja resolvi o problema....porem surgiu algo maior ainda :(

 

Eu faço a verificação do codigo existente da seguinte forma:

$sql = "SELECT codigo
	FROM produto
	WHERE codigo = '{$_POST['codigo']}'";
	$req = mysql_query($sql);

 

elseif (mysql_num_rows($req)) 
$alert = 'Este codigo já existe. Digite outro!';

 

Bom tudo funcionando, entao a hora que o cara digita o codigo se ele for repetido manda a msg falando que o codigo já existe. Porem se o cara vai atualizar apos criar o produto. Por Exemplo cadastrou o produto e depois de uma semana decidiu mudar o preço entao ele vai e ao clicar em salvar vai acontecer a verificação do codigo, e isso nao pode acontecer, pois não é durante o cadastro

 

Como eu poderia resolver isso?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tira a parte da verificação ue ? :huh:

 

Tipo, você pode definir por query string, se é a primeira vez, ou se é alteração, tipo no form: pagina.php?acao=alterar

 

aí você pega o valor da query string, faz o condicional IF, se for alterar você retira a verificação, caso contrário deixe como está, estendeu ? :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu a ajuda mas eu resolvi de um jeito mais fácil

 

Quando é inserção os campos do formulário estão vazios e quando é atualização os campos já vem setados, então coloquei uma verificação que caso tenha determinado campo preenchido não faz a verificação do código mas caso venha vazio ai faz a verificação.

 

Valeu quem ajudou

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara da uma olha para ver se esse funcionou..

abraço

 

 


<?php

	$sql = "SELECT P.codigo
       FROM produto
       WHERE P.codigo like '%".$codigo."%'";

	$codigo = mysql_query($sql);

	if(mysql_num_rows($codigo)>0){
		$alert = 'Bem vindo usuario!';	
	}else{
		$alert = 'Este codigo já existe. Digite outro!';
	}
?>

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.