Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.
Die letzten 5 Postings in diesem Thema » Alle anzeigen
von d.b.
ja, hab ich gelesen, aber wohl net wirklich mit verstand. :-/
für's erste reicht's mir auch so, aber wenn ich mal wieder lust und zeit dafür hab, mach ich's halt doch seperat.
aber danke für eure hilfe!
von subjective
Hast du überhaupt gelesen was ich geschrieben hatte? Ich sagte bereits - man will im WHERE keine Datumsfunktionen haben.
von d.b.
ich hab's. so funktioniert es auch mit SQL-Timestamp:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
$monat = date("m", mktime());
$query = "SELECT *, DATE_FORMAT(geb, UNIX_TIMESTAMP(geb)) AS tstamp FROM tabelle WHERE DATE_FORMAT(geb, '%m.') = $monat ORDER BY DATE_FORMAT(geb, '%d.%m.')";
$result = mysql_query($query, $db_connection) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
$geb = date("d.m.Y",$row["tstamp"]);
echo $row["name"]." - ".$geb."<br>";
}
von subjective
Ein MySQL-Timestamp hätte das gleiche Problem wie jetzt. (Da man jederzeit einen Unix-Timestamp in einen MySQL-Timestamp umwandeln kann.)
Du könntest zwar über Datumfunktionen den Monat herausfiltern und diesen im WHERE und im ORDER BY nutzen, jedoch sind diese Aufrufe dann immer für jeden Datensatz notwendig. Dies ist nicht unbedingt performant.
Deshalb ist die seperate Speicherung hier sinnvoller.
von languitar
öööh, wieso SQL-Timestamp?
Du kannst dich einfach noch drei Spalten mit Tag, Monat und Jahr anfügen lassen und gerade mit einem PHP-Script die Spalten aus der Timestamp füllen lassen.