Probleem bij Timestamp
Het volgende probleem.
Ik heb een nieuws gedeelte gemaakt voor mijn website, maar nu stuit ik op het probleem dat het laatst toegevoegde nieuw onder aankomt ipv boven aan. Als het nieuws wordt ingelezen via de cms dan krijg hij een opvolgend ID in de mysql dbase. Deze php code gebruik ik er verder voor in de site.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$_SESSION[$config['sessie_naam'].'_laatste_pagina'] = $_SERVER['REQUEST_URI'];
$box_content = '';
$box_title = $talen['nieuws'];
$box_width = '580';
$news_query = mysql_query("SELECT * FROM site_news");
$taal_temp = strtoupper($_SESSION[$config['sessie_naam'].'_taal']);
while($news_fetch=mysql_fetch_array($news_query))
{
$time = date('d-m-Y',$news_fetch['timestamp']);
$title = clean($news_fetch['T_'.$taal_temp],1);
$news = clean($news_fetch['N_'.$taal_temp],1);
$box_content .= '<strong>'.$time.' | '.$title.'</strong><br /><br />'.$news.'<br /><br /><br />';
}
include('./'.$template.'contentbox.php');
?>
$_SESSION[$config['sessie_naam'].'_laatste_pagina'] = $_SERVER['REQUEST_URI'];
$box_content = '';
$box_title = $talen['nieuws'];
$box_width = '580';
$news_query = mysql_query("SELECT * FROM site_news");
$taal_temp = strtoupper($_SESSION[$config['sessie_naam'].'_taal']);
while($news_fetch=mysql_fetch_array($news_query))
{
$time = date('d-m-Y',$news_fetch['timestamp']);
$title = clean($news_fetch['T_'.$taal_temp],1);
$news = clean($news_fetch['N_'.$taal_temp],1);
$box_content .= '<strong>'.$time.' | '.$title.'</strong><br /><br />'.$news.'<br /><br /><br />';
}
include('./'.$template.'contentbox.php');
?>
Kan iemand mij helpen hoe ik het voor elkaar krijg dat het laatst toegevoegde nieuws bovenaan komt.
Mvg
Sorteren doe je in je query m.b.v. ORDER BY en dan heb je ASC om oplopend te sorteren en DESC voor aflopend:
SELECT * FROM tabelnaam ORDER BY datumveld DESC
Ps. Met de database-functie DATE_FORMAT() kun je een datum het gewenste formaat (bv. dd-mm-yyyy) geven. Daar komt geen letter php aan te pas. Zie verder de handleiding van MySQL.
Lukt het zo verder Patrick ?
Frank:
Date functies kan je ook gebruiken op het TIMESTAMP formaat. Verder is het onzin om een formaat af te kraken omdat het onjuist gebruikt wordt. Timestamp is om een timestamp te genereren en bij voorkeur automatisch. Hierdoor kan je wijzigingen detecteren die op andere dan de legale wijze tot stand is gekomen. En ja een datum/tijd hoort in een datetime. Maar ik zeg ook niet wat een waardeloos formaat omdat ik er geen afbeeldingen in kan stoppenWaarom heb je de datum niet als een DATE (of DATETIME) in je database staan? Dat is vele malen handiger, dan kun je ook gebruik maken van de vele datum- en tijdsfuncties waar MySQL (andere databases overigens ook) over beschikt. Eigenlijk is een timestamp gewoon een waardeloos formaat.