Ga naar inhoud

[PHP] datum uit database in nederlandse notatie


anoniem

Aanbevolen berichten

Vanuit een database wil ik nieuwskoppen opvragen. Hierbij moet de datum worden getoond. Deze staat nog op engels. De maand is dus august en de dag wednesday. Ik wil hier de nederlandse namen voor gebruiken, maar ik weet niet hoe. De volgende code heb ik al, maar ik weet niet hoe ik verder moet: <?php $db = mysql_connect("***","***","***"); mysql_select_db("test", $db) or die ("FOUT: Het openen van de database is mislukt"); $resultaat = mysql_query("SELECT kop, date_format(datum, '%m %W %e %M %Y') FROM yolknieuws ORDER BY datum DESC LIMIT 15", $db); while (list($kop, $datum) = mysql_fetch_row($resultaat)){ echo("$datum | & $kop<br>\n"); } $maand[0] = ""; $maand[1] = "Januari"; $maand[2] = "Februari"; $maand[3] = "Maart"; $maand[4] = "April"; $maand[5] = "Mei"; $maand[6] = "Juni"; $maand[7] = "Juli"; $maand[8] = "Augustus"; $maand[9] = "September"; $maand[10] = "Oktober"; $maand[11] = "November"; $maand[12] = "December"; for($i=0; $i<=12; $i++){ echo("$maand[$i]<br>"); } ?> De uitvoer van deze code staat op http://81.59.96.207/test_db.php Wie heeft er een oplossing?
Link naar reactie
Waarschijnlijk is het handiger om de datum niet via date_format() in de query op te vragen, je maakt het jezelf nu vrij moeilijk. Beter is in dit geval om de datum als Unix Timestamp op te vragen zodat je deze direct kunt voeren aan [url=http://nl.php.net/date]date()[/url]. Hoe je je SQL moet aanpassen weet ik niet, zal ff kijken of ik het kan vinden. - Bas
Link naar reactie
Allereerst verander je de query:[code:1:79db5aa271]$sql = "SELECT kop, UNIX_TIMESTAMP(datum) FROM yolknieuws ORDER BY datum DESC LIMIT 15;"; $resultaat = mysql_query($sql);[/code:1:79db5aa271]Vervolgens ga je nu de variabelen op een andere manier bewerken. Om het geheel soepel te laten werken plaats je de volgende arrays vóórdat je de datum gaat bewerken:[code:1:79db5aa271]$maanden = array("","januari","februari","maart", "april","mei","juni", "juli","augustus","september", "oktober ,"november","december"); $dagen = array("zondag","maandag","dinsdag","woensdag", "donderdag","vrijdag","zaterdag");[/code:1:79db5aa271]Vervolgens kan je heel simpel de datum weergeven met:[code:1:79db5aa271]$space = " "; while (list($kop, $datum) = mysql_fetch_row($resultaat)){ echo $dagen[date("w",$datum)], $space, date("j",$datum), $space, $maanden[date("n",$datum)], $space, date("Y",$datum), " | ", $kop, "<br>\n"); }[/code:1:79db5aa271]Het lijkt wat omslachtig (en dat is het ook) maar de Nederlandse taal zit nou eenmaal niet in PHP gecompileerd en dus doen we het zo. - Bas [b:79db5aa271]Edit:[/b:79db5aa271] ik ben niet zo thuis in MySQL, maar met die functies zou je alles idd nog wat korter kunnen maken. Het gebruik van date() wordt dan overbodig maar je query wordt wat langer.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...