Jump to content
uhelliton

Select na tabela, listando um valor fixo e exibindo os demais

Recommended Posts

Boa noite pessoal.

Esse é meu primeiro post, talvez não consiga me expressa da forma correta.

Minha dúvida é o seguinte: Recentemente entrei no website da Olx, e percebi que na lista de exibição dos anúncios mesmo usando um filtro como, por exemplo: ordenando por menor ou maior preço, os anúncios Destaque sempre retorna na 1ª posição da query.

 

Há alguma possibilidade de fazer algo desse tipo usando apenas instruções SQL? Listando sempre um paramento fixo, por exemplo: Anúncios Destaques e depois listando os demais, mesmo usando filtro, os Destaques ficam sempre nas primeiras posições da listagem?

Share this post


Link to post
Share on other sites

Acredita! :dormindo:

 

Ou não soube montar a query? :assobiando:

SELECT SQL_CACHE * (CASE plano_destaque WHEN '5' THEN 5 WHEN '4' THEN 4 WHEN '3' THEN 3 WHEN '2' THEN 2 WHEN '1' THEN 1 ELSE 0 END ) AS plano FROM lista ORDER BY plano DESC, nome ASC

Acredito que saiba pelo menos usar a cláusula where

 

plano_destaque => tipo int

Share this post


Link to post
Share on other sites

Mano, no bd, cria a coluna "ordem" em INT....

 

dai na query da select tu botar exemplo: ORDER BY ordem, nome........

 

 

dai no valor da coluna tu coloca as que queis no topo com o valor 1, as a seguir com valor 2......... e assim consecutivamente!!

 

talvez se quiser colocar um fundo na linha de ordem='1', você faz:

 

$abrelinha = ($ordem == '1') ? '<p background-color:xxx;>' : '<p>';

$fechalinha = ($ordem == '1') ? '</p>' : '</p>';

 

e subistitui na echo, <p> por $abrelinha e o </p> por $fechalinha

 

assim consecutivamente, pode fazer até mesmo com divs.....

Edited by Guilherme De Lima Campos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.