Jack Oliveira 1 Denunciar post Postado Setembro 9, 2019 Ola Amigos @Omar~ @Motta estou com uma duvida e ao mesmo tempo problemas.. Tenho uma caixa de pesquisa nela quero realizar DESTAQUE fiz de uma maneira funciona porem quando a pesquisa se torna vazia ele não deixa em ordem alfabética No caso do destaque ele vai destacar por valor numérico Ex: todos que estiver com o valor 1 ele vai aparecer em primeiro os que estiver com o valor 2 vai aparecer em segundo e assim vai... No meu código fiz desta maneira no caso ele me dar o destaque apenas quando a busca e vazia que ele não deixa em ordem alfabética $Query = DBRead('tbl_cidade','*',"WHERE status = 'S' AND titulo LIKE '%$pesquisar%' OR palavra_chave LIKE '%%$pesquisar%%' OR endereco LIKE '%%$pesquisar%%' OR telefone LIKE '%$pesquisar%' order by id_destaque, titulo ASC LIMIT $inicio, $qnt_result_pg"); if (is_array($Query)) { foreach ($Query as $dados) { Na busca vazia ou seja quando não fazer nenhuma busca quero que ele aparece assim Ex: A, B, C, D.. Etc.... Se eu colocar assim ele traz em ordem alfabética porem não traz o destaque como é para ser $Query = DBRead('tbl_cidade','*',"WHERE status = 'S' AND titulo LIKE '%$pesquisar%' OR palavra_chave LIKE '%%$pesquisar%%' OR endereco LIKE '%%$pesquisar%%' OR telefone LIKE '%$pesquisar%' order by titulo, id_destaque ASC LIMIT $inicio, $qnt_result_pg"); if (is_array($Query)) { foreach ($Query as $dados) { Gradeço se puderem dar uma luz ai.. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 10, 2019 Uma solução Order by ((case when titulo LIKE '%$pesquisar%' then 1 else 0 end) + (Case when palavra_chave LIKE '%%$pesquisar%%' then 1 else 0) + (Case when endereco LIKE '%%$pesquisar%%' then 1 else 0 end) + (Case when telefone LIKE '%$pesquisar%' then 1 else 0 )) Veja também isto https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html cuidado com AND e OR no mesmo WHERE AND (titulo LIKE '%$pesquisar%' OR palavra_chave LIKE '%%$pesquisar%%' OR endereco LIKE '%%$pesquisar%%' OR telefone LIKE '%$pesquisar%') Compartilhar este post Link para o post Compartilhar em outros sites
Jack Oliveira 1 Denunciar post Postado Setembro 10, 2019 7 minutos atrás, Motta disse: Order by ((case when titulo LIKE '%$pesquisar%' then 1 else 0 end) + (Case when palavra_chave LIKE '%%$pesquisar%%' then 1 else 0) + (Case when endereco LIKE '%%$pesquisar%%' then 1 else 0 end) + (Case when telefone LIKE '%$pesquisar%' then 1 else 0 )) Perdoa mais não consegui entender aqui no caso order by titulo, id_destaque ASC onde ai que eu puderei usar o id_destaque, titulo no caso aqui eu coloco assim ((case when titulo then 1 else 0 end) + (Case when id_destaque then 1 else 0) + Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 10, 2019 Perdão entào peço eu , não devo ter entendido a pergunta. Compartilhar este post Link para o post Compartilhar em outros sites
Jack Oliveira 1 Denunciar post Postado Setembro 10, 2019 7 horas atrás, Motta disse: Perdão entào peço eu , não devo ter entendido a pergunta. Boa tarde amigo @Motta eu tenha a caixa de busca aqui... na order by id_destque, titulo ASC Aqui ele me mostra os destaque que eu preciso, Ex: Basico -- value="5" Bronze - value="4" Prata - value="3" Ouro - value="2" Diamante - value="1" Aqui no caso os valores numerico que me da os destaque conforme for a busca no site Ex2: Loja1/ Diamante - value="1" A Loja2/Diamante - value="1" F Loja3/Diamante - value="1" Loja4/Ouro - value="2" G Loja5/Ouro - value="2" M Loja6/Ouro - value="2" Se assim vai no destaques Mas quando eu busco faço a busca vazia sem nada ele não me mostra em ordem alfabética Ex: A,B,C,D,F,E..... Se eu inverte o comando order by titulo, id_destque ASC Ele me mostra em ordem alfabética mas não mostra os destaque como é para ser.... quando pesquisar por ex por loja ele não precisa mostra em ordem alfabética Entendeu? rsrsrs Compartilhar este post Link para o post Compartilhar em outros sites
Jack Oliveira 1 Denunciar post Postado Setembro 10, 2019 Consegui fazer aqui com ajuda do @Felipe Guedes Coutinho valeu mano pela ajuda ai Deus abençoa sempre você se tira um tempo para dedicar em ajudar as pessoas aqui... Aqui esta a solução do meu problema if(empty($pesquisar)) { $Query = DBRead('tbl_cidade','*',"WHERE status = 'S' AND (titulo LIKE '%$pesquisar%' OR palavra_chave LIKE '%%$pesquisar%%' OR endereco LIKE '%%$pesquisar%%' OR telefone LIKE '%$pesquisar%') order by titulo ASC LIMIT $inicio, $qnt_result_pg"); } else { $Query = DBRead('tbl_cidade','*',"WHERE status = 'S' AND (titulo LIKE '%$pesquisar%' OR palavra_chave LIKE '%%$pesquisar%%' OR endereco LIKE '%%$pesquisar%%' OR telefone LIKE '%$pesquisar%') order by id_destaque, titulo LIMIT $inicio, $qnt_result_pg"); } if (is_array($Query)) { foreach ($Query as $dados) { Obrigado @Motta pelas dicas ditas ai vou seguir o seu conselho cada vez que tenho as duvidas e alguém ajuda isso para mim e um grande prazer poder apender mais e mais com todos que queira ajudar aqui... Valeu galera... Compartilhar este post Link para o post Compartilhar em outros sites