Ir para conteúdo

POWERED BY:

Arquivado

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

andrewcragy

Busca MySQL não retorna resultados corretos

Recommended Posts

Ai galera, tenho o seguinte código:

 

<FORM method="post">
Palavra: <INPUT name="palavra">
<INPUT type="submit" value="Buscar">
</FORM>

<?php
include "config.php";

if(!empty($HTTP_POST_VARS["palavra"])) {

	$palavra = str_replace(" ", "%", $HTTP_POST_VARS[palavra]);

	/* Altera os espaços adicionando no lugar o simbolo % */

	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%".$palavra."%' ORDER BY id DESC";

	// Executa a query no Banco de Dados
	$sql = mysql_query($qr);

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

	echo "Sua busca retornou '$total' resultados.";

	// Gera o Loop com os resultados
	while($r = mysql_fetch_array($sql)) {
	echo "<hr>";
	echo $r["titulo"];
	}
}
?>

 

Esse achei na internet, só que to com um problema, ele não retorna os resultados por completo.

 

Veja todos os vídeos que tenho cadastrado no banco:

http://andrewcrg.0fees.net/exibir2.php

 

Agora se você for fazer a busca no sistema de busca, e colocar 1 palavra de cada vídeo na busca, você só consegue achar 1 resultado que é o próprio que eu coloquei com 1 palavra de cada video...

 

Alguém sabe me dizer como faço pra aparecer todos os vídeos se eu colocar 1 palavra do nome de cada vídeo ?

 

Abss!

Compartilhar este post


Link para o post
Compartilhar em outros sites

muda isso

$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%".$palavra."%' ORDER BY id DESC";
para isso

$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%$palavra%' ORDER BY id DESC";

antes disso

dá um echo pra ve o que q $palavra tá recebendo

echo $palavra;
e veja se altera alguma coisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

muda isso

$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%".$palavra."%' ORDER BY id DESC";
para isso

$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%$palavra%' ORDER BY id DESC";

antes disso

dá um echo pra ve o que q $palavra tá recebendo

echo $palavra;
e veja se altera alguma coisa

 

Esqueci de enviar a página em funcionamento:

http://andrewcrg.0fees.net/busca-simples.php

 

O código faz uma substituição automaticamente dos espaços por % eu deixei o código do jeito que tu falou.. com o echo e tudo..

 

Veja ai testando online, vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o problema?

 

outra coisa troque

 

$HTTP_POST_VARS[]// obsoleto

 

por

 

$_POST[]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o problema?

 

outra coisa troque

 

$HTTP_POST_VARS[]// obsoleto

 

por

 

$_POST[]

Já troquei e deu no mesmo.

 

O problema é que eu tenho 6 vídeos cadastrados no banco de dados (todos os vídeos AQUI) caso eu coloque 1 palavra do título de cada vídeo ele não retorna nenhum resultado.

 

Veja o exemplo e faça a busca para ver o resultado AQUI.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste caso você vai ter que dividir a string com a função explode() e tranforma-la em array para efetuar a busca

$palavra = explode(" ", strip_tags($POST['palavra']));

$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' ORDER BY id DESC";

 

A busca esta com 03 campos titulo, caso queira mais é só ir acrescentando OR titulo LIKE '%". $palavra[3] ."%' e por aie vai.

 

Testa ae ve se é isto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste caso você vai ter que dividir a string com a função explode() e tranforma-la em array para efetuar a busca

$palavra = explode(" ", strip_tags($POST['palavra']));

$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' ORDER BY id DESC";

 

A busca esta com 03 campos titulo, caso queira mais é só ir acrescentando OR titulo LIKE '%". $palavra[3] ."%' e por aie vai.

 

Testa ae ve se é isto

 

A função ta funcionando, agora num sei o que é mais ele retorna todos os vídeos cadastrados no banco, não importa a busca que fizer, quer ver testa lá.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste caso você vai ter que dividir a string com a função explode() e tranforma-la em array para efetuar a busca

$palavra = explode(" ", strip_tags($POST['palavra']));

$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' ORDER BY id DESC";

 

A busca esta com 03 campos titulo, caso queira mais é só ir acrescentando OR titulo LIKE '%". $palavra[3] ."%' e por aie vai.

 

Testa ae ve se é isto

 

Opa cara, insisti no seu código e deu certo.

 

O problema é que na busca do mysql, tinha 3 palavras que as vezes a busca nem tinha 3 palavras, ai retornava todos os vídeos, mais eu fiz o código funcionar usando só os necessários, veja:

 


<FORM method="post">
Palavra: <INPUT name="palavra">
<INPUT type="submit" value="Buscar">
</FORM>

<?php
include "config.php";

if(!empty($_POST["palavra"])) {

	//Separa as palavras
	$palavra = explode(" ", strip_tags($_POST["palavra"]));

	// Conta quantos espaços tem
	$espaco = count($palavra);

	// Altera os espaços adicionando no lugar o simbolo % */
if ($espaco == "1") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' ORDER BY id DESC";
}

if ($espaco == "2") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' ORDER BY id DESC";
}

if ($espaco == "3") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' ORDER BY id DESC";
}

if ($espaco == "4") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' ORDER BY id DESC";
}

if ($espaco == "5") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' ORDER BY id DESC";
}

if ($espaco == "6") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' ORDER BY id DESC";
}

if ($espaco == "7") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' ORDER BY id DESC";
}

if ($espaco == "8") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' ORDER BY id DESC";
}

if ($espaco == "9") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' ORDER BY id DESC";
}

if ($espaco == "10") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' ORDER BY id DESC";
}

if ($espaco == "11") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' OR titulo LIKE '%". $palavra[10] ."%' ORDER BY id DESC";
}

if ($espaco == "12") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' OR titulo LIKE '%". $palavra[10] ."%' OR titulo LIKE '%". $palavra[11] ."%' ORDER BY id DESC";
}

if ($espaco == "13") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' OR titulo LIKE '%". $palavra[10] ."%' OR titulo LIKE '%". $palavra[11] ."%' OR titulo LIKE '%". $palavra[12] ."%' ORDER BY id DESC";
}

if ($espaco == "14") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' OR titulo LIKE '%". $palavra[10] ."%' OR titulo LIKE '%". $palavra[11] ."%' OR titulo LIKE '%". $palavra[12] ."%' OR titulo LIKE '%". $palavra[13] ."%' ORDER BY id DESC";
}

if ($espaco == "15") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' OR titulo LIKE '%". $palavra[10] ."%' OR titulo LIKE '%". $palavra[11] ."%' OR titulo LIKE '%". $palavra[12] ."%' OR titulo LIKE '%". $palavra[13] ."%' OR titulo LIKE '%". $palavra[14] ."%' ORDER BY id DESC";
}

if ($espaco == "16") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' OR titulo LIKE '%". $palavra[10] ."%' OR titulo LIKE '%". $palavra[11] ."%' OR titulo LIKE '%". $palavra[12] ."%' OR titulo LIKE '%". $palavra[13] ."%' OR titulo LIKE '%". $palavra[14] ."%' OR titulo LIKE '%". $palavra[15] ."%' ORDER BY id DESC";
}

if ($espaco == "17") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' OR titulo LIKE '%". $palavra[10] ."%' OR titulo LIKE '%". $palavra[11] ."%' OR titulo LIKE '%". $palavra[12] ."%' OR titulo LIKE '%". $palavra[13] ."%' OR titulo LIKE '%". $palavra[14] ."%' OR titulo LIKE '%". $palavra[15] ."%' OR titulo LIKE '%". $palavra[16] ."%' ORDER BY id DESC";
}

if ($espaco == "18") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' OR titulo LIKE '%". $palavra[10] ."%' OR titulo LIKE '%". $palavra[11] ."%' OR titulo LIKE '%". $palavra[12] ."%' OR titulo LIKE '%". $palavra[13] ."%' OR titulo LIKE '%". $palavra[14] ."%' OR titulo LIKE '%". $palavra[15] ."%' OR titulo LIKE '%". $palavra[16] ."%' OR titulo LIKE '%". $palavra[17] ."%' ORDER BY id DESC";
}

if ($espaco == "19") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' OR titulo LIKE '%". $palavra[10] ."%' OR titulo LIKE '%". $palavra[11] ."%' OR titulo LIKE '%". $palavra[12] ."%' OR titulo LIKE '%". $palavra[13] ."%' OR titulo LIKE '%". $palavra[14] ."%' OR titulo LIKE '%". $palavra[15] ."%' OR titulo LIKE '%". $palavra[16] ."%' OR titulo LIKE '%". $palavra[17] ."%' OR titulo LIKE '%". $palavra[18] ."%' ORDER BY id DESC";
}

if ($espaco == "20") {
	$qr = "SELECT * FROM informacoes WHERE titulo LIKE '%". $palavra[0] ."%' OR titulo LIKE '%". $palavra[1] ."%' OR titulo LIKE '%". $palavra[2] ."%' OR titulo LIKE '%". $palavra[3] ."%' OR titulo LIKE '%". $palavra[4] ."%' OR titulo LIKE '%". $palavra[5] ."%' OR titulo LIKE '%". $palavra[6] ."%' OR titulo LIKE '%". $palavra[7] ."%' OR titulo LIKE '%". $palavra[8] ."%' OR titulo LIKE '%". $palavra[9] ."%' OR titulo LIKE '%". $palavra[10] ."%' OR titulo LIKE '%". $palavra[11] ."%' OR titulo LIKE '%". $palavra[12] ."%' OR titulo LIKE '%". $palavra[13] ."%' OR titulo LIKE '%". $palavra[14] ."%' OR titulo LIKE '%". $palavra[15] ."%' OR titulo LIKE '%". $palavra[16] ."%' OR titulo LIKE '%". $palavra[17] ."%' OR titulo LIKE '%". $palavra[18] ."%' OR titulo LIKE '%". $palavra[19] ."%' ORDER BY id DESC";
}




	// Executa a query no Banco de Dados
	$sql = mysql_query($qr);

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

	echo "Sua busca retornou '$total' resultados.";

	// Gera o Loop com os resultados
	while($r = mysql_fetch_array($sql)) {
	echo "<hr>";
	echo $r["titulo"];
	}
}
?>


 

Parabens ae cara, não sabe o quanto me ajudou :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa busca sua ficou muito doída kkkkkkkkkk

 

porém invés de você montar essa grande quantidade de selects, use o for e vai incrementando os campos de acordo com o resultado do count()

 

 

Exemplo:

 

$qr = "SELECT * FROM informacoes WHERE 

for($i=0; $i < $espaco; $i++){
  titulo LIKE '%". $palavra[$i] ."%' OR
}

ORDER BY id DESC";



$sql = mysql_query($qr);

 

Ta meio tosco mais é por ae...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fica o código um pouco melhor

 

<FORM method="post">
Palavra: <INPUT name="palavra">
<INPUT type="submit" value="Buscar">
</FORM>

<?php
include "config.php";

if(!empty($_POST["palavra"])) {

        //Separa as palavras
        $palavra = explode(" ", strip_tags($_POST["palavra"]));

        // Conta quantos espaços tem
        $espaco = count($palavra);

        // Altera os espaços adicionando no lugar o simbolo % */
		
		$qr = "SELECT * FROM informacoes WHERE ";
		for($i=0; $i < $espaco; $i++){
			if($i <=0){
				$qr .=  "titulo LIKE '%". $palavra[$i] ."%' ";
			}
			if($i> 0 ){
				$qr .=  " OR titulo LIKE '%". $palavra[$i] ."%'";
			}
		}	
		$qr .= " ORDER BY id DESC";

        // Executa a query no Banco de Dados
        $sql = mysql_query($qr);
        
        // Conta o total ded resultados encontrados
        $total = mysql_num_rows($sql);

        echo "Sua busca retornou '$total' resultados.";

        // Gera o Loop com os resultados
        while($r = mysql_fetch_array($sql)) {
        echo "<hr>";
        echo $r["titulo"];
        }
}
?>

Ve se te ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certinho, mais se tiver muitos espaços na busca, ele vai retornar todos os vídeos cadastrados, veja:

http://andrewcrg.0fees.net/busca.php

 

Uma dúvida também é que, se tenho um vídeo chamado "ABC do amor" se eu buscar por "a", "b" ou "c" ele me retorna o vídeo "ABC do amor" e assim em qualquer outro vídeo, bastando apenas ter a letra buscada, tem como fazer para que só retorne o vídeo cadastrado se eu buscar a palavra inteira "ABC", "do" ou "amor" porque assim é paia :)

 

Mais sua ajuda me foi de grande necessidade, tava pensando como diminuir isso mesmo, você foi mais rápido =)

 

Vlww!

Compartilhar este post


Link para o post
Compartilhar em outros sites

neste caso coloque AND invés de OR, ae sua busca vai ficar no padrão correto

 

if($i> 0 ){
   $qr .= " AND titulo LIKE '%". $palavra[$i] ."%'";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

neste caso coloque AND invés de OR, ae sua busca vai ficar no padrão correto

 

if($i> 0 ){
 $qr .= " AND titulo LIKE '%". $palavra[$i] ."%'";
}

Continua a mesma coisa..

 

Mais valeu por estar me ajudando!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que entender sobre combinação de padrões

 

 

Para encontrar nomes começando com ‘b’:

 

mysql> SELECT * FROM pet WHERE name LIKE "b%";
+--------+--------+---------+------+------------+------------+
| name   | owner  | species | ---  | birth      | death      |
+--------+--------+---------+------+------------+------------+
| Buffy  | Harold | dog     | f    | 1989-05-13 | NULL       |
| Bowser | Diane  | dog     | m    | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+

 

Para encontrar nomes com o final 'fy':

 

mysql> SELECT * FROM pet WHERE name LIKE "%fy";
+--------+--------+---------+------+------------+-------+
| name   | owner  | species | ---  | birth      | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat     | f    | 1993-02-04 | NULL  |
| Buffy  | Harold | dog     | f    | 1989-05-13 | NULL  |
+--------+--------+---------+------+------------+-------+

 

Para encontrar nomes contendo um ‘w’:

 

mysql> SELECT * FROM pet WHERE name LIKE "%w%";
+----------+-------+---------+------+------------+------------+
| name     | owner | species | ---  | birth      | death      |
+----------+-------+---------+------+------------+------------+
| Claws    | Gwen  | cat     | m    | 1994-03-17 | NULL       |
| Bowser   | Diane | dog     | m    | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL       |
+----------+-------+---------+------+------------+------------+

 

Para encontrar nomes contendo exatamente cinco caracteres, use cinco instâncias do caracter ‘_’:

 

mysql> SELECT * FROM pet WHERE name LIKE "_____";
+-------+--------+---------+------+------------+-------+
| name  | owner  | species | ---  | birth      | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |
| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
+-------+--------+---------+------+------------+-------+

Agora cabe você usar sua imaginação tanto com OR tanto AND

 

e você não pode analisar uma consulta somente com meia duzia de regsitros, mas sim seu banco contendo milhares ou até milhoes e se usuario vai querer ver pesquisa inrelevante.

 

Abraços e bons estudos, não esqueça de dar uma olhada no manual do mysql http://dev.mysql.com/

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.