sql sorteren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Php knipper

php knipper

04/01/2012 14:19:20
Quote Anchor link
ik wil een soort van linkstructuur maken die zoekt op jaar dan maand en dan dag dus. alleen ik weet niet hoe ik er aan moet beginnen. stel er zijn 5 gegevens in de database

datum |naam
2008-04-15 |knipper
2009-03-15 |jef
2008-04-19 |jan
2008-05_30 |rik

nu als in de url niet's is opgegeven van jaar dan geeft hij dit
2008
2009

als in de url de get jaar is 2008
04
05

als er in de get nu jaar is 2008 en maand is 04
15
19

dit is wat ik wil maken. maar hoe zorg ik er voor dat hij zo sorteert ( als er 2 keer 2009 staat (2009-04-06 en 2009-05-11) dat hij dan maar 1 keer 2009 weergeeft) de datum kan ik splitsen met preg replace.

Sorry als mijn vraag zo wazig is maar ik zou hem niet ander's kunnen stellen.

Toevoeging op 04/01/2012 14:19:40:

alvast bedankt
 
PHP hulp

PHP hulp

24/12/2024 17:46:17
 
Daan C

Daan C

04/01/2012 14:32:18
Quote Anchor link
"Order by" en dan eerst t jaar, dan de maand en dan de dag? Normaal niet zo moeilijk hoor
 
Php knipper

php knipper

04/01/2012 14:34:43
Quote Anchor link
en hoe moet ik het doen als hij rechtstreeks de voledige datum uit de database haalt. dan kan ik het toch niet doen in de sql zelf ( het moet erst nog door een preg replace )
 
TJVB tvb

TJVB tvb

04/01/2012 14:41:11
Quote Anchor link
Werkt deze niet voor alle jaren?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT
    YEAR(datum) AS jaar
FROM
    tabel
GROUP BY jaar
ORDER BY jaar;
 
Php knipper

php knipper

04/01/2012 15:02:41
Quote Anchor link
ok hij laad het jaar en hoe kan ik dat doen met maand en met dag ( er vanuitgaande dat het jaar uit een get komt ( dus niet alle maanden weergeven )
 
TJVB tvb

TJVB tvb

04/01/2012 15:04:27
Quote Anchor link
Wat denk je van?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT
    MONTH(datum) AS maand
FROM
    tabel
WHERE YEAR(datum) = 2012
GROUP BY maand
ORDER BY maand;

(Dit is de query, omzetten naar php mag je zelf doen)
 
Php knipper

php knipper

04/01/2012 15:05:33
Quote Anchor link
ok dankje de rest kan ik zelf

bedankt
 
Erwin H

Erwin H

04/01/2012 15:08:13
Quote Anchor link
Makkelijkste is uiteraard om een tweede query te maken welke je runt als het jaar gegeven is. In dat geval doe je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT DISTINCT MONTH(datum) AS maand
FROM tabel
WHERE YEAR(datum) = '2008'
ORDER BY maand
 
Wouter J

Wouter J

04/01/2012 15:12:09
Quote Anchor link
Nou, YEAR is voor het jaar. Zou DAY en MONTH dan niet voor de andere 2 zijn?
 
Noppes Homeland

Noppes Homeland

04/01/2012 18:34:45
Quote Anchor link
@TJVB tvb
Wilt gij voortaan correcte SQL posten, bij voorbaat dank.

YEAR()/MONTH()/DAY() zijn geen aggregate functions, de GROUP BY hoort dus niet thuis in jouw SQL-statement.

En kom niet aankakken met uniek extract year, want daar hebben we DISTINCT dan voor.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.