Hallo, een echte beginnersvraag,

Hoe haal ik de laatste ingevoerde gegevens (in dit geval de datum) uit een tabel?

TIA Ton
SLECT kolom FROM tabel ORDER BY id DESC;

Als je een id gebruikt tenminste.
THNX Ton
Oh ja inderdaad, ben gewent om dingen tussen haken niet / niet aandachtig te lezen, omdat het meestal alleen extra info is waar je niet zoveel aan hebt :) Terwijl het hier juist de sleutel voor de query was :)
Ik gebruik dit maar $row[snd_date] blijkt leeg?
In de tabel staat wel een datum in varchar(16).

$result = dbquery('SELECT count(id) FROM '.$db_prefix.'ecards');
$numrows = dbresult($result, 0);
$result = dbquery('SELECT count(id) FROM '.$db_prefix.'ecards ORDER BY snd_date DESC');
$row = mysql_fetch_array($result);

$dtm = "...";

if (mysql_num_rows($result) >= 1)
{
$dtm .= $row[snd_date];
}
Sinds wanneer is een datum een VARCHAR? Volgens de laatste berichten was dit nog steeds een DATE of een DATETIME. Uiteraard MOET je een datum opslaan in het formaat yyyy-mm-dd en kun je deze met de MySQL-functie DATE_FORMAT() in ieder gewenst formaat opmaken.

Verder is de query niet goed. COUNT(id) levert het aantal id's op en niet meer dan dat. Daar valt verder niets aan te sorteren. Maar, wanneer je geen datum ophaalt, dan kun je deze uiteraard ook niet op het scherm zetten. Maar dat gaat toch niet lukken met deze query, wanneer je ook een datum ophaalt, is de query fout en moet je een GROUP BY gaan gebruiken. Maar wanneer een GROUP BY gebruikt, ga je andere resultaten krijgen. Kortom, je hebt 2 queries nodig.

En waar is je foutafhandeling? Zonder foutafhandeling zal je systeem vroeg of laat stuk lopen en kun jij gaan zoeken naar de bekende speld in de eveneens bekende hooiberg.

Reageren