Ir para conteúdo

POWERED BY:

Arquivado

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

donny_

[Resolvido] Exibindo vários camposss

Recommended Posts

Bom galera, como estao? entao, seguinte, to terminando um sisteminha aqui de cadastro de anuncios, so que o seguinte, fui fazer uma validacao aqui, que por exemplo, se o usuario tentar se cadastrar com um CPF e ele ja estiver no DB vai acusar o erro a ele, dzd que o CPF ja esta cadastrado.

Desenvolvi o codigo, tudo funcionando, so tem um porem, se o usuario por exemplo, digitar um CPF que ja tem no DB por exemplo 5 vezes, vai aparecer a mensagem: * CPF Já Cadastrado as 5 vezes, se tiver 10, vai aparecer 10, etc.....

 

segue abaixo o codigo:

$plngratis = mysql_query("SELECT cpf, empresa FROM plngratis");
	while($resul = mysql_fetch_array($plngratis)) 
	{
	if($resul['cpf'] == $cpf) { $erro .= "* CPF Já Cadastrado. <br />"; }
	if($resul['empresa'] == $empresa) { $erro .= "* Empresa Já Cadastrada. <br />"; } 
	}

OBS: a variavel $cpf esta pegando o campo "<input type="text" name="cpf"....>"

talvez pintam para vcs a pergunta -> se tem validacao como vai ter 10 cpf iguais, é meio dificil, mais eu fzd os testes aqui antes de mandar pro ar, dai ja tinha uns registros cadastrados antes de eu fazer a validacao, dai notei esse problema....

è isso ai galera, conto com ajuda de vcs, brigadao vlw......

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está gastando tempo de execução e memória à toa.

 

Use $cpf e $empresa na query. Use COUNT(), do MySQL

 

Select COUNT(*) as total From tabela Where cpf = $cpf OR empresa = $empresa;

se Total for maior que 1, mostre o erro

 

[]s

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, vlw pela dica, tentei aqui desse modo:

 

$valcpf = mysql_query("SELECT COUNT(*) FROM plngratis WHERE cpf = '$cpf'");
	while($resul = mysql_fetch_array($valcpf))
	{
	if($resul > 1)
	{
	$erro .= "* CPF Já cadastrado <br />";
	}}

so q nao funfo, todo cpf q coloco diz que ja esta cadastrado. obrigado e vlw....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, vlw, mexendo ake consegui, fiz desse modo:

 

$plngratis = "SELECT COUNT(*) as total FROM plngratis WHERE cpf = '$cpf'";
	$res = mysql_query($plngratis);
	$array = mysql_fetch_array($res);
	if($array['total'] >= 1)
	{
	$erro .= "* CPF Já cadastrado <br />";
	}

é pq eu nao tinha entendido o "as total", se alguem puder me dizer o q significa esse "as total", eu sei q é tipo um apelido que se da, mais nao entendi muito bem.... vlwwwwww gente.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

é um apelido (alias), sim. Execute com e sem alias na linha de comando do MySQL.

Sem alias, o nome do campo será count(*). Com alias, total.; É mais fácil com total, por isso se usam alias em casos assim

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.