[php mysql] maandnummer naar naam

Pagina: 1
Acties:
  • 205 views sinds 30-01-2008

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Ik heb de volgende query en ik wordt ff gek:
PHP:
1
2
3
4
5
6
7
$query = mysql_query("SELECT DISTINCT MONTH(datum) AS maand FROM kosten WHERE YEAR(datum) = '$jaar'"); 
while ($r = mysql_fetch_array($query))
{
$maand = $r['maand'];
$maandnaam = date('F', $maand);
echo "$maandnaam<br/>";
};


De maandnummers die uit de database komen zijn 4,6 & 7. Met bovenstaande code komt er overal January te staan... Mis ik soms iets? Doe ik iets stoms...(vast) ?

[ Voor 10% gewijzigd door ViNyL op 05-09-2005 08:29 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
kijk hier eens

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Ik heb die pagina al doorgespit, ik gebruik wel de juiste format voor die functie maar denk dat er iets niet klopt. De maand january zit niet eens in mijn database en toch laat hij dat overal zien. Terwijl de maand voor de results bv april en juni/juli is..

// Edit, sorry ik keek niet goed. Dat werkt inderdaad wel _/-\o_

[ Voor 13% gewijzigd door ViNyL op 05-09-2005 08:39 ]


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:30

MueR

Admin Devschuur® & Discord

is niet lief

date werkt met een unix timestamp (tijd in seconden sinds de epoch). Je wil me niet vertellen dat die $r['maand'] van jou die timestamp bevat, wel?

Anyone who gets in between me and my morning coffee should be insecure.


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 14:20
Je selecteerd met de MONTH() functie het maand-nummer.
De PHP date()-functie wilt echter een timestamp (het aantal seconde snids epoch).

Als je hier een getal als 6 of 120 instopt, zal deze altijd 1 Januari 1970 (de epoch) teruggeven.

Je kunt het misschien makkelijker zo doen;
PHP:
1
2
$_maandNamen = Array("Maand 0 bestaat niet", "Januari", "Februari", "Maart", .. .etc);
$maand = $_maandNamen[$maand];


Of anders gewoon MONTH() in je query vervangen met UNIX_TIMESTAMP

[ Voor 14% gewijzigd door frickY op 05-09-2005 09:25 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Ok, dit had je prima kunnen oplossen door even wat beter in de manual te kijken. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.