Good 4 Denunciar post Postado Dezembro 23, 2009 Eu estou fazendo um sistema de paginação aqui, e tem aquelas opções de escolher a ordem e tal.. aí eu queria colocar uma ordem pelo total de anúncios do usuário.. mas só que estes anúncios são separados em tabelas diferentes... Tabela de anúncios é + ou - desse jeito: id | titulo | descricao | imagem | usuarioid...... Tabela de usuário tbm: id | usuario | senha | email | nome..... Aí, utilizando a query normal...: ORDER BY $ordem LIMIT $inicio, $quantidade... Eu fiz um switch, que além de ser mais rápido que usando ifs, é melhor.. aí a pesquisa é pelo método get.. e eu queria pegar pelo total de anúncios que o usuário tem... como eu poderia fazer? vlw Compartilhar este post Link para o post Compartilhar em outros sites
Brayan Rastelli 2 Denunciar post Postado Dezembro 23, 2009 Faz o select com um INNER JOIN da tabela anuncios e faz ordenar por count(), q é a soma de quantos anuncios o usuario tem.. INNER JOIN anuncios ON usuario.id = anuncios.usuarioid http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Dezembro 23, 2009 Good, Você está utilizando MySQL ? Compartilhar este post Link para o post Compartilhar em outros sites
Good 4 Denunciar post Postado Dezembro 23, 2009 é sim.. mas o usuário pode escolher vários tipos de ordenagem.. se fosse assim, eu faria... Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Dezembro 23, 2009 Certo, vou mover para MySQL então. Compartilhar este post Link para o post Compartilhar em outros sites
Good 4 Denunciar post Postado Dezembro 23, 2009 Eu fiz aqui.. só que mostrou apenas um resultado, mas dizia que tinha 13.. SELECT * FROM usuarios INNER JOIN anuncios ON usuarios.id = anuncios.usuarioid WHERE nome LIKE '%a%' ORDER BY count(*) DESC LIMIT 0, 10 Não entendi bem.. mas é assim que se faz? Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Dezembro 24, 2009 select usuarioid, count(*) from tabela group by usuarioid order by count(*) desc Compartilhar este post Link para o post Compartilhar em outros sites
Good 4 Denunciar post Postado Dezembro 25, 2009 Hm.. fiz mais ou menos desse jeito, pq eu estou querendo pegar valores de outra tabela.. pra saber qual usuário tem mais valores na outra tabela.. e isso ae me retornou 0 resultados.. vlw Compartilhar este post Link para o post Compartilhar em outros sites