Toon posts:

[MySQL/PHP] Alles op dezelfde datum gepost?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik de volgende code om m'n nieuws uit te lezen:
PHP:
1
<?else{    if($member -> user_data('news_rights') &amp; ADD_MOD)    {        $result = mysql_query('SELECT n.title, n.news_id, n.activated, UNIX_TIMESTAMP(n.timestamp) AS timestamp, u.user_id, u.username FROM news n, users u WHERE n.user_id=u.user_id ORDER BY n.news_id DESC');    }    else    {        $result = mysql_query('SELECT n.title, n.news_id, u.user_id, u.username, UNIX_TIMESTAMP(n.timestamp) AS timestamp FROM news n, users u WHERE n.user_id=u.user_id AND n.activated>0 ORDER BY n.news_id DESC');    }    if($result == false)    {        error('De volgende MySQL fout is opgetreden tijdens het laden van het nieuws:<br><br>' . mysql_error() . '<br><br>Mail dit naar de webmaster!');    }    if(mysql_num_rows($result) == 0)    {        $template -> define(array(content => 'information.tpl'));        $template -> assign(array(            '{TITLE}' => 'Nieuws',            '{INFO}'  => 'Er is nog geen nieuws gepost.'        ));    }        $template -> define(array(content => 'news_list.tpl'));    $template -> define_dynamic('item', 'content');    while($row = @mysql_fetch_array($result))    {        $template -> assign(array(            '{DATE}'   => date('j-n-Y G:i', $row['timestamp']),            '{TITLE}'  => $row['title'],            '{LINK}'   => 'news.php?action=view&amp;nid=' . $row['news_id'],            '{USER}'   => $row['username'],            '{U_LINK}' => 'profile.php?action=view&amp;uid=' . $row['user_id']        ));                $template -> define_dynamic('mod', 'content');        if($member -> user_data('news_rights') &amp; ADD_MOD)        {            $template -> assign(array('{ACTIVE}' => ($row['activated'] == 1) ? 'Gemodereerd' : 'Ongemodereerd'));        }        else        {            $template -> clear_dynamic('mod');        }                        $template -> parse(CONTENT, '.item');    }}?>

Er hoort natuurlijk nog meer om heen, maar dat is nu niet echt van belang. Het probleem zit 'm in dat alles gepost is op 17-7-2002 17:25 volgens dit script. Dat is de datum dat ik het laatste nieuws het toegevoegd. Ik stop de timestamp in de db met de MySQL functie NOW(). Weet iemand waar dit aan kan liggen?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Klopt je script dan of klopt het niet?

Heb je via andere manieren die tijden gechecked?

Verwijderd

als je in de db kijkt kun je toch de tijden bekijken die erin zitten als ze verschillend zijn weet je dat het probleem bij het lezen is en als ze hetzelfde zijn weet je dat ze bij posten een fout gebeurd.

sorry heb de code nog nie bekeken *D

Verwijderd

Het kan zijn, dat als je datum tijden van het type "timestamp" zijn, dat er bij een UPDATE (of varianten) query die data automagisch aangepast worden met de NOW() functie... Ik dacht dat je bij het updaten je datumveld + 0 moest doen, om dat te voorkomen (weet niet zeker of het zo was).

Verwijderd

Topicstarter
Nu blijkt ook dat de datum verkeerd worden weergeven als je maar 1 nieuws item bekijkt (met reacties enzo), dus het ligt niet aan de loop. In de MySQL databases staan de data er goed in in het MySQL Timestamp formaat, maar ik gebruik UNIX_TIMESTAMP om er een unix timestamp van te maken. Zou het er aan kunnen liggen dat ik data uit twee tabellen tegelijk haal?

edit:
Ik heb nog geen Updates ofzo gebruikt, alleen nog maar doodnormale INSERT's