Elvis Reis Postado Abril 26, 2007 Denunciar Share Postado Abril 26, 2007 Nesse ExemploProduto "Câmera Digital 7.2MP DSC-S650 Sony"Seria correto eu formar a string de busca dessa formaSELECT * FROM produtos Where produto LIKE '%camera%7.2%Sony%'dessa forma me traz o resultadomas se inverter a ordem tem comoSELECT * FROM produtos Where produto LIKE '%camera%Sony%7.2%' Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 26, 2007 Denunciar Share Postado Abril 26, 2007 É melhor você buscar em separado as chaves... tipo:SELECT * FROM produtos Where produto LIKE '%camera%' AND LIKE '%Sony%' AND LIKE '%7.2%'Assim ele vai buscar pelas 3 coisas independente de ordem...Isso não tem a ver com PHP... em que BD você está trabalhando (pra eu saber pra que área mover).Ps.: Não me lembro se a sintaxe acima tá correta ou se tem que usar parenteses ou chamar o produto sempre antes dos LIKEs... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Elvis Reis Postado Abril 26, 2007 Autor Denunciar Share Postado Abril 26, 2007 Amigo não deu certo mas fou procurar pela sintaxe correta....Trabalho com PHP + MySQLdesculpe a fala de postar no tópico errado... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 26, 2007 Denunciar Share Postado Abril 26, 2007 A sintaxe é uma das de baixo (eu acho) então...SELECT * FROM produtos Where produto (LIKE '%camera%' AND LIKE '%Sony%' AND LIKE '%7.2%')ouSELECT * FROM produtos Where produto LIKE '%camera%' AND produto LIKE '%Sony%' AND produto LIKE '%7.2%') Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Elvis Reis Postado Abril 27, 2007 Autor Denunciar Share Postado Abril 27, 2007 Resolvi da Seguinte forma crie uma função em php para forma SELECTfunction keywork($keywork, $campo) { $k = explode(" ", $keywork); $key = "$campo LIKE '%{$k[0]}%' "; for ($i=1 ; $i<count($k) ; $i++) { $key = $key."AND $campo LIKE '%{$k[$i]}%' "; }return $key;}$keywork = keywork("camera+7.2+digital+sony", "produto");$query_busca = "SELECT * FROM produtos Where ".$keywork." "; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Elvis Reis
Nesse Exemplo
Produto "Câmera Digital 7.2MP DSC-S650 Sony"
Seria correto eu formar a string de busca dessa forma
SELECT * FROM produtos Where produto LIKE '%camera%7.2%Sony%'
dessa forma me traz o resultado
mas se inverter a ordem tem como
SELECT * FROM produtos Where produto LIKE '%camera%Sony%7.2%'
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.