Ir para conteúdo

Arquivado

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

Felipesudrj

Consulta em PHP verificação

Recommended Posts

Pessoal tenho uma duvida, tenho uma pagina com um campo vazio onde digito um determinado valor..

o que quero fazer é o seguinte quero que ao digitar esse valor ele seja enviado ao banco e verifique dentro de uma determinada tabela se aquele valor já existe ou não...se não simplesmente exibir uma mensagem tipo "valido", e se ja tiver sido usado uma mensagem tipo "já usado".. igual acontece com Email quando se cria uma nova conta onde é verificado se pode ou não usar aquele ID...alguem pode me ajudar a entender como isso funciona?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer de varias maneiras.

 

pode implementar algum jQuery que verifica isso dinamicamente

 

recebe o valor inserido verifica no Banco de dados e retorna ou pode fazer da forma mais imples

 

com uma botão pra enviar depois uma função que recebe o valor inserido, verifica no banco e retorna a resposta desejada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

um exemplo simples criado por mim mesmo, segue o raciocineo

 

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
<script>
function usk(us){ usm = null; if(window.XMLHttpRequest){ usm = new XMLHttpRequest();
usm.onreadystatechange = ks; usm.open("GET", us, true); usm.send(null); }else if(window.ActiveXObject){
usm = new ActiveXObject("Microsoft.XMLHTTP"); if(usm){ usm.onreadystatechange = ks; usm.open("GET", us, true);
usm.send(); } } }
function ks(){ if(usm.readyState == 4){ if(usm.status == 200){
document.getElementById('r').innerHTML = usm.responseText;
}else{ alert("Houve um problema ao obter os dados:n" + usm.statusText); }}}
</script>
<script language="javascript">
window.onload = function (){

 document.getElementById('email').onkeyup = function (){ 
 var valor = document.getElementById('email').value; us="pag.php?valor="+valor; usk(us);
 }

}
</script>
</head>

<body>


<table width="300" border="0" cellpadding="5">
 <tr>
   <td width="145"><input type="text" name="email" id="email" /></td>
   <td width="129"><div id="r"></div></td>
 </tr>
</table>
</body>
</html>

 

pag.php

 

<?php 

$email = $_GET['valor'];


$sql = mysql_query("SELECT COUNT (*) FROM tabela WHERE email=\"$email\""); //adeque a suas condições
$c = mysql_num_rows($sql);
if($c != 0){

echo "email ja existe";

}else{

echo "email não existe";

}



?>

 

Procure por ajax para obter mais informações...

Compartilhar este post


Link para o post
Compartilhar em outros sites

criei meu pag.php dessa forma!mais continua dando erro...aparece a seguinte mensagem...

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\wina\pag.php on line 12

 

 

 

<?php 

$email = $_GET['valor'];
$host = "localhost";
$user = "root";
$pass = "";
$banco = "emails";
$conexao = mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($banco);

$sql = mysql_query("SELECT * FROM tabela WHERE email LIKE '$email'");
$c = mysql_num_rows($sql);

if($c != 0){

       echo "email ja existe";

       }else{

       echo "email não existe";

       }
mysql_close($conexao);


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O motivo do meu LIKE é que estou usando varchar...nunca tentei usar = para texto..

bom realmente você estava certo o problema era esse mesmo, está funcionando agora

 

 

 

Warning: mysql_num_rows() >>> sua sql não esta sendo executada

 

É,Porque LIKE ?

 

Ficou perfeito era exatamente isso que eu precisava...para que eu possa em uma outra ocasião realizar isso sozinho sem ter que recorrer a forum...o que devo estudar? AJAX?

Compartilhar este post


Link para o post
Compartilhar em outros sites

n tem problema usar o = para texto, lembrando q o = significa comparação e não é uma operação matemática.

 

você pode comparar se A = O mas n pode somar ou subtrair A-O / A+O

 

se você usar o like e eu digitar rodrigo@gmail.com

e outro usuário digitar carlos.rodrigo@gmail.com vai indicar q já existe com o Like

 

Outra coisa, isso é padrão meu n sei se é o mais correto, mas eu sempre evito passar parametros por GET uso sempre o POST

Uso o GET apenas quando preciso de uma dinamica diferente.

 

 

PS. Pessoal acho q o cara tah começando agora, n é bom falar de Jquery.

 

 

Lógica para você

Select no banco de dados Where email=$email

 

Se trouxe resultado

Já existe

 

 

Senão trouxe

Não Existe

Insert ....

 

Fim Se

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza isso mesmo,funcionou..e como você disse realmente estou começando valeu pela dica!

 

n tem problema usar o = para texto, lembrando q o = significa comparação e não é uma operação matemática.

 

você pode comparar se A = O mas n pode somar ou subtrair A-O / A+O

 

se você usar o like e eu digitar rodrigo@gmail.com

e outro usuário digitar carlos.rodrigo@gmail.com vai indicar q já existe com o Like

 

Outra coisa, isso é padrão meu n sei se é o mais correto, mas eu sempre evito passar parametros por GET uso sempre o POST

Uso o GET apenas quando preciso de uma dinamica diferente.

 

 

PS. Pessoal acho q o cara tah começando agora, n é bom falar de Jquery.

 

 

Lógica para você

Select no banco de dados Where email=$email

 

Se trouxe resultado

Já existe

 

 

Senão trouxe

Não Existe

Insert ....

 

Fim Se

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.