Ir para conteúdo

POWERED BY:

Arquivado

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

maubiasotto

Busca exata

Recommended Posts

Olá pessoal, beleza....então eu estou fazendo um script em php, e estou precisando muito,por exemplo eu tenho no banco um campo, que tem os seguinte dados...12, 44, 132, 22..em outra linha poderia ter:23, 43, 55, 122.então mais eu precisaria de fazer uma busca dentro deste campo, supondo se eu digita-se 12,, eu queria que ele entra-se nesse campo de examina-se qual dos campo tem 12,eu tentei fazer com like '% %' mais assim não fica muito preciso, porque supondose outro tiver 122 ele pega também e se o outro tiver 312 ele ira pegar tb...alguem sabe como fazer isso ficar exato... valeuah... o banco é em MySQL..

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai owww... nao sei se eh isso que você quer.... mais oww.. tenho um script pronto akii que eu uso.. e funciona perfeitamente... neste script de busca... eu busco por Produtos em meu Banco de dados MySQL... onde Por exemplo Se eu digitar na busca MARTEl é diferente de MARTELO... pois ele soh retorna o produto martelo caso eu digite perfeitamente a palavra martelo....

 

Para você entender melhro vou postar aki o meu script completo...

 

Utilizo esta tabela... ai você adpta e muda de acordo com a sua...

 

CREATE TABLE produto (

n_produto varchar(99) NOT NULL default '',

n_fabricante varchar(99) NOT NULL default '',

preco varchar(99) NOT NULL default '',

codigo_p varchar(99) NOT NULL default '',

quantidade_emb varchar(99) NOT NULL default '',

tamanho varchar(99) NOT NULL default '',

n_pagina varchar(99) NOT NULL default '',

PRIMARY KEY (codigo_p)

) TYPE=MyISAM;

 

 

 

PRINCIPAL.PHP (tbm poderia ser .htm)

 

<html><head><meta http-equiv="Content-Language" content="pt-br"><meta name="GENERATOR" content="Microsoft FrontPage 5.0"><meta name="ProgId" content="FrontPage.Editor.Document"><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Principal</title></head><body><form method="POST" action="resultado.php">        <input maxLength="40" size="10" name="produto" id="produto">        <input type="submit" value="Encontrar >->" name="B1"></form></body></html>

 

Resultado.PHP

 

PHP [/tr][tr]<?

$con = mysql_connect("localhost","xxx","xxx") or die ("Erro na conexão");

$db = mysql_select_db("TABELA",$con) or die ("Erro ao se conectar ao Database");

 

$sql = mysql_query ("SELECT * FROM produto WHERE n_produto like '$produto'",$con) or die ("Erro no SQL");

 

?>

 

 

 

<html>

<head>

<title>Consulta produtos</title>

</head>

 

<body bqcolor="#FFFFFF">

 

<table width=250 align=left cellpadding="O" cellspacing=2 bordercolor="#OOOOOO" ce11pading=0>

<?

for ($i = 0; $i < mysql_num_rows($sql); $i++) {

if (($i % 2) == 1) $fundo="#ffffff";

else $fundo="#ffffcc";

?>

<tr>

<td width="19%" bgcolor="<? echo $fundo; ?>"><font face=Verdana size=1><? echo mysql_result($sql,$i,"codigo_p"); ?></font></td>

<td width="34%" bgcolor="<? echo $fundo; ?>"><font face=Verdana size=1>R$ <? echo mysql_result($sql,$i,"preco"); ?></font></td>

<td width="25%" bgcolor="<? echo $fundo; ?>"><font face=Verdana size=1>(<? echo mysql_result($sql,$i,"quantidade_emb"); ?>)</font></td>

<td width="9%" bgcolor="<? echo $fundo; ?>"><font face=Verdana size=1><? echo mysql_result($sql,$i,"n_produto"); ?></font></td>

<td width="13%" bgcolor="<? echo $fundo; ?>"><font face=Verdana size=1><? echo mysql_result($sql,$i,"tamanho"); ?></font></td>

</tr>

<? }

?>

</table>

</body>

</htm1>

[/tr]

 

soh para avisar este meu codigo de resultado retorna os resultados em uma tabela.... colocando as linhas com cores alternadas... apenas um detalhe a mais.. tbm podendo ser retirado.. você deve saber fazer isso neh....

 

Tah ai nao sei se foi exatamente isto que cv quizz.... mais

U que Vale é a intensao....

 

Abração

Jean

 

Qualquer coisa eh soh perguntar ai.....

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

você vai passar a virgula na pesquisa??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho uma base aqui e tenho os registros com os seguintes nomes, dentre outros:

 

Walace Marcelo FagundesMarcelo José da SilvaNome de Teste Marcelo

Note que tenho o nome "Marcelo" no meio, início e fim da string.

 

Minha select está assim:

SELECT nome FROM tabela WHERE nome LIKE '%Marce%'

É isso que você quer pelo que eu entendi, então dá uma olhada e vê se não tem nada de errado ou no seu script ou então na string de pesquisa que você está mandando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você vai passar a virgula na pesquisa??

Foi mal... :unsure: nao lhe intendi... qual virgula tais perguntaqndo se eu vou passar na pesquisa???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi mal... :unsure: nao lhe intendi... qual virgula tais perguntaqndo se eu vou passar na pesquisa???

não foi pra você, foi pro cara que abriu o topico...

Compartilhar este post


Link para o post
Compartilhar em outros sites

aff :wacko: ai pego... :unsure: hehehehe...sei nao.....vo ver isso... PS: mais exatamente como ele pediu antes... ele queria uma busca exata.. e o script que passei ali axu que eh isso que fax nehh.. Me corrigam se eu estiver errado...pois se eu quizer buscar por exemplo Jean, e digitar Jea ou Jean, ele nao me retornaria o que eu quizesse.. nao é mesmo....Abraços...jean

Compartilhar este post


Link para o post
Compartilhar em outros sites

aff :wacko: ai pego... :unsure: hehehehe...sei nao.....vo ver isso... Abraços...jean

por isso que ta estranho, basta só o cara se manisfestar, pras ideias começarem a aparecer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

É vero chocho, você tem razão.Mas se ele usar like %variavel% ficará do jeito que ele explicou... essa tal de busca exata aí é que eu acho que tá dando confusão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow galera estou muito grato bom você me ajudarem...mais assim eu preciso filtrar esta busca...supondo eu estou com um linha com:134e outra com:12, 13se eu quise-se buscar só o 13, dai se eu colocar " like '13' " não da certo..se eu colocar " like '%13' " dai da certo, mais supondo se eu deixo assim quando for digitar " like '%34' " , era só pra pegar só o 34, mais ele pega o 134 tb...valeu......

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara não consegui pensar ainda numa solução decente mas por enquanto faz isso que rola...SELECT Campo FROM TABELA WHERE Campo LIKE '$Numero,%' OR Campo LIKE '%,$Numero,%' OR Campo LIKE '%,$Numero've se é issoeditei pois tinha faltado uma virgula no primeiro like

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas pra funcionar terá que tirar os espaços entre os numeros, ou então coloca-los na consulta do,like, pois fiz sem considera-los

Compartilhar este post


Link para o post
Compartilhar em outros sites

você poderia dar uma dica como eu faço um substring...então galera eu tenho que ir, dai só vou ver isso amanha de novo, alguem pode me dizer como eu faço pra abrir esta discução aqui de novo, ou eu tenho que reposta isso de novo...valeu...até amanhãveleu mesmo por você me ajudarem

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que o que postei satisfaz... considera o numeros nos tres lugares possiveis, inicio, meio e fim

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.