Archief - PHP: datum ophalen uit timestamp

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

joyraider

Legacy Member
Oki, hier ben ik weer...

Ik heb dus een tabel "news". Hier zit een veld "timestamp" aan, die mysql dus automatisch invult als ik iets invoer.

Nu wil ik een lijstje met nieuwsberichten weergeven, met de datum ernaast. Ik moet dus de record 'timestamp' ophalen, en hier een deftig formaat van maken (dd/mm/jj).

Ik heb volgende code:

PHP:
$datum = getdate('$record->datum');
$dag = $datum['mday'];
$maand = $datum['mon'];
$jaar = $datum['year'];

als ik nu echter $dag, $maand en $jaar echo, krijg ik 01/01/1970 :oink:

iemand een idee van wat er fout aan is?

*edit* aan database ligt het trouwens niet: 2005-06-01 18:21:04 staat in het veld

zero2one

Legacy Member
je zal de php manual even goed moeten lezen:
er staat duidelijk in:
Code:
array getdate ( [COLOR=Red][int timestamp][/COLOR] )
maw, de functie verwacht een timestamp als integer niet een string!

ik denk dat hier de date time functies van mysql beter aangewezen zijn:
Code:
$sql = "SELECT date_format(datum, '%d-%m-%Y') AS datum FROM table ..."

joyraider

Legacy Member
zero2one zei:
je zal de php manual even goed moeten lezen:
er staat duidelijk in:
Code:
array getdate ( [color=red][int timestamp][/color] )
maw, de functie verwacht een timestamp als integer niet een string!

ik denk dat hier de date time functies van mysql beter aangewezen zijn:
Code:
$sql = "SELECT date_format(datum, '%d-%m-%Y') AS datum FROM table ..."

Hmm ja, even over het hoofd gezien dat het een integer moest zijn :)

maar hoe integreer ik nu die sql-date dinges?

mijn code:

PHP:
$sql = "select * from news ORDER BY newsid DESC LIMIT 0, 10";
$resultaat = mysql_query($sql);
while ($record = mysql_fetch_object($resultaat)) {
echo "$record->title (hier moet de datum komen) <a href='index.php?location=news&newsid=$record->newsid'>Lees meer</a><br />";
}

JEy

Legacy Member
Met strtotime() bijvoorbeeld?
PHP:
$datum = getdate(strtotime('$record->datum'));

joyraider

Legacy Member
JEy zei:
Met strtotime() bijvoorbeeld?
PHP:
$datum = getdate(strtotime('$record->datum'));

geprobeerd:

PHP:
 $datum = getdate(strtotime('$record->datum')); 
 $dag = $datum['mday'];
 $maand = $datum['mon'];
 $jaar = $datum['year'];

en werkt niet, spijtig genoeg :)

dJeez

Legacy Member
Pfff, zoek eens op 't forum in 't vervolg, die vraag is hier al ettelijke keren beantwoord geweest.

zero2one

Legacy Member
ja zeg, haal enkel de velden die jenodig hebt uit de db:
PHP:
 $sql = "select title, date_format(datum, '%d-%m-%Y') as datum, ...<vul aan> from news ORDER BY newsid DESC LIMIT 0, 10";

en deze vraag is al vele malen gesteld en beantwoord op dit forum
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan