Jump to content


Photo

Agrupar Pro Categoria


  • Faça o login para participar
8 replies to this topic

#1 g.miranda

g.miranda

    12 Horas

  • Usuários
  • 226 posts
  • Sexo:Masculino
  • Localidade:Niteroi
  • Interesses:C# \o/<br />Flash, DreamWeaver, Fireworks, Photoshop, Corel Draw, PHP.

Posted 19/05/2008, 19:53

Olá, estou com mais um probleminha, gostaria de listar todas os tópicos de todas as categorias. Exemplo:

Jogos
gta iv vai ser lancado
counter strike ainda é jogado

Internet
Firefox 3 próximo da versão final
lallalalalalala

e na tabela eu tenho

categoria | titulo
1 | gta iv vai ser lancado
2 | Firefox 3 próximo da versão final
1 | counter strike ainda é jogado
2 | lallalalalalal

Como faria isso ? Estou usando:
$sql = "select *, noticias.id, nome from $tabela join categoria on $tabela.categoria = categoria.id GROUP BY nome"
Porem com esse código apenas o primeiro tópico de cada categoria é mostrado !
Visite: KinGui
websites, sistemas em php e mysql, programas, aplicativos para celular e outros.

#2 dgt

dgt

    diego^SCFC

  • Usuários
  • 281 posts
  • Sexo:Masculino
  • Localidade:Recife-PE
  • Interesses:Java, Delphi, PHP, SQL, Modelagem de Dados, CSS, Lógica de Programação (Algoritmos), Teoria em Banco de Dados

Posted 20/05/2008, 00:12

Seria assim:
SELECT * FROM Tabela GROUP BY categoria

Posted Image

#3 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 20/05/2008, 00:18

Cara, é só trocar o seu GROUP BY por ORDER BY.
Ma claro que essa ordenação tem que ser pela categoria

Edição feita por: boirock, 20/05/2008, 00:20.


#4 g.miranda

g.miranda

    12 Horas

  • Usuários
  • 226 posts
  • Sexo:Masculino
  • Localidade:Niteroi
  • Interesses:C# \o/<br />Flash, DreamWeaver, Fireworks, Photoshop, Corel Draw, PHP.

Posted 20/05/2008, 13:05

Seria assim:

SELECT * FROM Tabela GROUP BY categoria

dessa maneira está acontecendo igual ao código que eu estava usando, apenas o primeiro topico de cada categoria aparece.

Cara, é só trocar o seu GROUP BY por ORDER BY.
Ma claro que essa ordenação tem que ser pela categoria

Mas ai o nome da categoria irá se repetir a cada topico..

$sql = "SELECT * FROM $tabela GROUP BY categoria";
$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta ao banco de dados");

while ($listar=mysql_fetch_array($resultado)) {
$id = $listar['id'];
$categoria = $listar['nome'];
$titulo = $listar['titulo'];
<p class="categoria"><?=$categoria?></p>
<p><a href="?area=noticias&id=<?=$id?>"><?=$titulo?></a></p>
<? } ?>

Visite: KinGui
websites, sistemas em php e mysql, programas, aplicativos para celular e outros.

#5 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 21/05/2008, 17:53

Cara, é só trocar o seu GROUP BY por ORDER BY.
Ma claro que essa ordenação tem que ser pela categoria

Mas ai o nome da categoria irá se repetir a cada topico..

Mas foi o que eu entendi que era pra acontecer...
Primeiro vc reclamou que trazia um de cada categoria.
Depois reclamou que traz mais de um...
Afinal, como você quer o retorno desses dados?

#6 g.miranda

g.miranda

    12 Horas

  • Usuários
  • 226 posts
  • Sexo:Masculino
  • Localidade:Niteroi
  • Interesses:C# \o/<br />Flash, DreamWeaver, Fireworks, Photoshop, Corel Draw, PHP.

Posted 22/05/2008, 12:03

Ele me retorna:
Jogos
gta iv vai ser lancado

Jogos
counter strike ainda é jogado

Internet
Firefox 3 próximo da versão final

Internet
lallalalalalala
Eu queria que retornasse
Jogos
gta iv vai ser lancado
counter strike ainda é jogado

Internet
Firefox 3 próximo da versão final
lallalalalalala

Visite: KinGui
websites, sistemas em php e mysql, programas, aplicativos para celular e outros.

#7 marciovmartins

marciovmartins

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 01/07/2008, 11:04

É uma proposta interessante, mas acredito que tenha que concatenar resultados. O que eu normalmente faço na programação.

Mas se você não tem acesso a programação e é estritamente necessário fazer isto no banco, procure na documentação do banco como concatenar registros. Acredito que tenha como fazer.

#8 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 01/07/2008, 11:46

Peço desculpas pela demora.
Como o marciovmartins disse, um bom IF resolve sua história, g.miranda...
Agora, pense comigo... uma consulta SQL retorna linhas e colunas. Como você vai dizer para o SGBD retornar apenas a coluna "titulo" na linha 1, enquanto que na linha 2 ele tem que retornar "jogo", "id" , etc.
Até dá pra fazer! Nada que uma boa procedure não resolva... Mas o trabalho que vai dar definitivamente não compensa, pois você terá que tratar com a linguagem de forn-end de qualquer maneira, sem falar que esse tratamento será muito mais pesado.

#9 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 14/09/2017, 03:45

Kamagra Paypal generic cialis Tamoxifen Shopping
Cialis Acquisto Farmacia
Purchase Generic Effexor <a href=http://cialtobuy.com>cialis</a> Viagra Cialis Y Levitra
Cialis En Venta cialis Dapoxetina Compresse
Viagra Ayuda Al Corazon Levitra 10 Mg Prezzo Prix Cialis Boite De 4
Conseguir Propecia Por El 5 <a href=http://cialtobuy.com>cialis buy online</a> Cialis Sale Us Pharmacy




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq