[php] group by scheiden

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • pdehoop
  • Registratie: September 1999
  • Laatst online: 04-06-2024
Ik heb de volgende select:
PHP:
1
SELECT * FROM users GROUP BY user_lastname ORDER BY user_year


Dit geeft een mooi lijstje weer zoals ik hem wil.

1987 naam1
1988 naam2
1988 naam3
1989 naam4
1989 naam5
1989 naam6
etc...

Nu had ik voordat ik gebruik maakte van group by, een aparte tabel met de verschillen jaren, om zo met een while steeds jaar voor jaar een nieuwe query uit te voeren, en tussen elk jaar een scheidingslijn.

Nu heb ik dus echter één select die alles mooi direct op jaar en naam sorteert, maar het is nu zo'n lange rij.

Is het mogelijk om ook in deze vorm een lijn tussen de verschillende jaren te plaatsen, of kan dit alleen als ik de oude manier met een while gebruik?

Uiteindelijk met het dus zo eruit zien(oid):

1987 naam1
-----------------
1988 naam2
1988 naam3
-----------------
1989 naam4
1989 naam5
1989 naam6
etc....

Is dit mogelijk met de group by en order by?

Acties:
  • 0 Henk 'm!

  • Mickman
  • Registratie: Juni 2001
  • Laatst online: 27-08 11:32
Bij het schrijven naar de page kun je met een variabele "$jaar" kijken of het jaar wat in de huidige output row zit hoger/lager/anders is dan de voorgaande, is dat het geval, de output je gewoon "<hr>"

Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

vrij simpele logica:

code:
1
2
3
4
5
6
7
8
9
10
prev_jaar = 0

while (records) do
  if (record.jaar != prev_jaar) then
    print '<hr>';
    prev_jaar = record.jaar;
  end if

  print record.jaar & record.naam
end while

[ Voor 7% gewijzigd door thomaske op 17-12-2002 13:45 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

  • pdehoop
  • Registratie: September 1999
  • Laatst online: 04-06-2024
ik heb hem werken, bedankt!