Ir para conteúdo
Fórum Script Brasil
  • 0

Busca


misterviralata

Pergunta

Ola amigos!

tenho um formulario com um campo chamado nome e quando clico em enviar os dados são enviados ao banco de dados mysql.

estou tentando uma forma de antes de enviar os dados o script fazer uma busca na tabela e verificar se o nome que está sendo postado já existe, exemplo:

na tabela aluno tenho cadastrado

João Marcos da Silva

Maria Aparecida de Lima

No formulario o usuario postou

João Ferreira Carvalho

fazer com que o script mostre uma mensagem:

Já existe um Aluno João cadastrado no sistema, deseja continuar!

to quebrando a cabeça para fazer isso ainda sou iniciante em php.

Se alguém puder me ajudar fico grato!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Amigo penso me expressei mau

estou tentando fazer uma busca no banco e trazer uma mensagem de confirmação, caso o nome já esteja cadastrado exemplo

João Fernando de Paula

se o usuario postar um nome tipo Paula Ramos

aparecer uma mensagem tipo:

o nome Paula já existe no banco deseja continuar!

Link para o comentário
Compartilhar em outros sites

  • 0

Ah, saquei.

Nunca fiz isso, mas tente assim:

$query = @mysql_query($sql);

$dados = @mysql_fetch_array($query);

$nome = $dados['nome'];

while ($dados){

if (strpos($nome,"paulo") > 0)

echo "Nome já existente";

}

Deve dar certo. não tenho certeza..

nunca fiz isso...

Tente aí

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - richard -

Olha esta solução é bem simples, eu uso httprequest + javascrip + php (AJAX), acredito que posso de auxiliar

Codigo html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title>exemplo parecido com o sugest do google;)</title>
    <script language="JavaScript" type="text/javascript" src="util.js"></script>
    <script language="JavaScript" type="text/javascript" src="autocomplete.js"></script> 
  </head>
  <body>
<INPUT TYPE="text" NAME="campo" id="campo" OnKeyUp="Load('campo','sugest','tabela',cpes='campodatabelaondeprocurar');">
<div id="sugest" style="display:none"></div>
</body>
</html>
codigo do util.js

try{
    xmlhttp = new XMLHttpRequest();
}catch(ee){
    try{
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        try{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(E){
            xmlhttp = false;
        }
    }
}
idx=0;
codigo do autocomplete.js
var objcompleta;
var objlayer;
   
function ajaxLoader(url){
     //Abre a url
    xmlhttp.open("GET",url,true);

    //Executada quando o navegador obtiver o código
    xmlhttp.onreadystatechange=function() {

        if (xmlhttp.readyState==4){
       
            //Lê o texto
            var texto=xmlhttp.responseText
            //Desfaz o urlencode
            texto=texto.replace(/\+/g," ")
            texto=unescape(texto)
            //Exibe o texto no div conteúdo
            var conteudo=document.getElementById(objlayer)
            conteudo.innerHTML=texto

        }
    
}
xmlhttp.send(null)
} 

function Load(obj,dv,tbl,cpesq){
também=tbl;
cpes=cpesq;
objcompleta = obj;
//alert('ok');
objlayer = dv;
    if(document.getElementById(objcompleta).value != ''){


       document.getElementById(objlayer).style.display='';
       document.getElementById(objlayer).innerHTML='';
      ajaxLoader('busca.php?Buscar='+document.getElementById(objcompleta).value+'&tabela='+também+'&b='+cpes);

    }else{
        document.getElementById(objlayer).style.display='none';
        document.getElementById(objlayer).innerHTML='';
    }

}

function Get(val){
    document.getElementById(objcompleta).value    = val;
    document.getElementById(objcompleta).focus();
    document.getElementById(objlayer).style.display='none';
    document.getElementById(objlayer).innerHTML='';
}

codigo do busca.php
<?php
 header("Expires: {$gmtDate} GMT");
 header("Last-Modified: {$gmtDate} GMT");
 header("Cache-Control: no-cache, must-revalidate");
 header("Pragma: no-cache");

 //os readers acima dizem ao php para não usar cache 

$que = '';
$tabela = '';
$campo = '';

$con= mysql_connect("servidor","usuario,"senha"); //CONECTANDO AO BANCO MYSQL
mysql_select_db("base",$con); //SELECIONANDO A BASE DE DADOS

que = $_GET['Buscar'];
$tabela = $_GET['tabela'];
$campo = $_GET['b'];

$sql="Select $campo from $tabela where $campo Like '$que%';";
$result = mysql_query($sql,$con) or die ("Erro: " . mysql_error());

foreach($result as $key => $row){
    if($row[0]!=''){
        echo "<P><a href='java script:;' OnClick=\"Get('".$row[0]."')\">".$row[0]."</a></P>";
    }
}

?> 

Link para o comentário
Compartilhar em outros sites

  • 0

Amigos!

primeiramente eu gostaria de agradecer e muito a ajuda de vocês, estou iniciando em php e graças ao scriptbrasil e a atenção que vocês tão a usuarios iniciantes, estou começando a entender o PHP.

Ao amigo richard muito obrigado pelo codigo, deu certo e funcionou legal. Só que eu estava querendo algo mais simples e depois de ler varios tutorias sobre busca penso que resolvi parte do problema.

if(isset($novonome) and ($novonome != "")) {

$palavra1 = str_replace(" ", "%", $novonome); /* Altera os espaços adicionando no lugar o simbolo % */

$resultado = mysql_query("SELECT * FROM aluno WHERE Nome LIKE '%".$palavra1."%'");

if(!$resultado){

die("Não foi possivel realizar a consulta!!");

}

$total = mysql_num_rows($resultado); // Conta o total ded resultados encontrados

while($row = mysql_fetch_array($resultado)) { // Gera o Loop com os resultados

$titulo = $row['Nome'];

if ($titulo) {

echo "<script>alert('Já exixte um aluno $novonome cadastrado!');history.back(-1);</script>";

exit;

}

print("<b><font color=red>".$titulo."</font></b>" . "<br>\n");

}

}

exit;

Desta maneira consigo fazer uma pesquisa na tabela aluno com o nome completo ou parte dele postado e o script me retorna uma mensagem ao usuario, exemplo

na tabela está cadastrado João de Assis e Maria de Paula Mendes

se eu entrar com o nome paula, o script acima me retorna uma mensagem ao usuario, pois ele encontrou no banco o nome paula. ok

o que eu to tentando fazer é com que o script retorne a mensagem somente se o nome postado for igual ao primeiro nome que está cadastrado na tabela aluno exemplo

João de Assis

Maria de Paula Mendes

Caso entrar com o nome Paula não retorna mensagem nenhuma

Caso entrar com o nome Maria retornar mensagem ao usuario

Se alguém puder me ajudar fico grato.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...