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

Query De Busca No Banco De Dados


cobrinha

Pergunta

Quero fazer uma busca no Banco de dados onde essa busca seria no campo nome de uma tabela X onde só apareceria no resultado dessa busca os dados onde os status esta como "on".

tentei fazer o probrema...


$sql = "SELECT * FROM cidades WHERE nome_contato AND status_ativo = 'on' LIKE '%$consulta%' ORDER BY nome_contato ASC";
$result = mysql_query("$sql", $dbturbrasil) or die ("Erro realizar um consulta ao Banco de Dados!!! <p> Entre em contato com nossa equipe e informe o erro ocorrido." . mysql_error());
                    
        $total = mysql_query($sql); 
        $total = mysql_num_rows($total); 


echo "
<table width='650' border='0' align='center' cellpadding='0' cellspacing='1' bgcolor='#2D5BA8'>
  <tr> 
    <td height='22' colspan='3' background='images/fundo_titulos2.jpg' bgcolor='#CCCCCC'><p class='Texto_form_center'>Resultado:</p></td>
  </tr>";

if ($total <= "0") {
echo "
  <tr bgcolor='#FFFFFF'> 
    <td height='22' colspan='3'><p class='Texto_form_centro'><font color='#CC0000'><br><br>Nenhum número foi encontrado, contendo o nome <b>$consulta</b>.</font>
    <br><br><a href='consulta_cidades.php'>Realizar nova Consulta...</a><br><br><br></font></p></td>
  </tr>  
";
} elseif ($total == "1") {
echo "  
  <tr bgcolor='#FFFFFF'> 
    <td height='22' colspan='3'><p class='Texto_form_centro'><font color='#CC0000'>Foi encontrado <b>$total</b> número, contendo o nome <b>$consulta</b>.</font></p></td>
  </tr>
    <tr bgcolor='#6CAFD6'> 
    <td width='294' height='20'> <p class='Texto_form_center'><font color='#FFFFFF'>NOME</font></p></td>
    <td width='182' height='20'> <p class='Texto_form_center'><font color='#FFFFFF'>TELEFONE</font></p></td>
    <td width='170' height='20'> <p class='Texto_form_center'><font color='#FFFFFF'>OPÇÕES</font></p></td>
  </tr>";
} else {
echo "  
  <tr bgcolor='#FFFFFF'> 
    <td height='22' colspan='3'><p class='Texto_form_centro'><font color='#CC0000'>Foram encontrados <b>$total</b> números, contendo o nome <b>$consulta</b>.</font></p></td>
  </tr>  
  <tr bgcolor='#6CAFD6'> 
    <td width='294' height='20'> <p class='Texto_form_center'><font color='#FFFFFF'>NOME</font></p></td>
    <td width='182' height='20'> <p class='Texto_form_center'><font color='#FFFFFF'>TELEFONE</font></p></td>
    <td width='170' height='20'> <p class='Texto_form_center'><font color='#FFFFFF'>OPÇÕES</font></p></td>
  </tr>"; }


    $result = mysql_query("$sql", $dbturbrasil) or die ("Erro realizar um consulta ao Banco de Dados!!! <p> Entre em contato com nossa equipe e informe o erro ocorrido." . mysql_error());

    while ($linha = mysql_fetch_array($result, MYSQL_ASSOC)) {

            $codigo = $linha["codigo"];
            $nome_contato = $linha["nome_contato"];
            $fone_contato = $linha["fone_contato"];
            $cidade = $linha["cidade"];

echo "
  <tr bgcolor='#FFFFFF'> 
    <td height='20'> <p class='Texto_form_esquerda'>$nome_contato ";if (strlen($cidade)<1) {}  else { echo "($cidade)"; }echo "</p></td>
    <td height='20'> <p class='Texto_form_centro'>$fone_contato</p></td>
    <td height='20'> <p class='Texto_p_centro'><a href=\"java script:window.open('detalhes.php?id=$id','','width=450,height=340,top=0,left=0,scrollbars=yes');window.history.go(9)\"><img src='images/visualizar.gif' border='0' align='absmiddle'> 
        Mais detalhes...</a></p></td>
  </tr>";
}
echo "</table>";

O que estah acontecendo é que aparecem todos os dados da tabela não interessando se o status esta 'on' ou 'off', quero só os dados de status 'on', e as vezes existe o nome do cidadaum digitado na busca mais mostra que não existe no banco de dados :( .

Como faço pra corrigir isso? Aguardo... Obigado!!!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

$sql = "SELECT * FROM cidades WHERE nome_contato AND status_ativo = 'on' LIKE '%$consulta%' ORDER BY nome_contato ASC";

Bom.. não sei se isso pode ajudar.... mas.. pela sintaxe ai.. ele tah dizendo q o nome_contato E status_ativo tem q ser igual a 'on'... não é isso??....

Talvez se você colocasse assim:

$sql = "SELECT * FROM cidades WHERE nome_contato LIKE '%$consulta%' AND status_ativo = 'on' ORDER BY nome_contato ASC";

Tipo.. ai ele tah falando q nome_contato é igual ah $consulta (igual, igual não... o like é um tipo de contem não é?.. ).. E o status_ativo = 'on'...

Tenta ai.. talvez funcione.. hehe..

Abraço!

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...