Hallöle,
ich hab im MySQL zwei Tabellen, die wesentlichen Spalten sind:
1. Tabelle (lastvisits): ip, user_id, time
2. Tabelle (userdata) : user_id, user_name, user_email...
Die erste Tabelle enthält die Zeitpunkte der letzten Besuche. Dabei kann die user_id leer sein - falls es ein unregistrierter Besucher ist.
Jetzt will ich eine Auflistung, die nach dem Zeitpunkt des letzten Besuchs sortiert
ip, time, user_id, user_name, user_email
auflistet (wobei die user_-Spalten natürlich null sein sollten bei unregistrierten Besuchern).
Ok, ich krieg das hin, indem ich mit vielen Abfragen arbeite:
mit der ersten Abfrage lese ich nur die erste Tabelle lastvisits aus.
Bei der Ausgabe prüfe ich dann, ob user_id = null ist, falls nein, hole ich für diese id die Spalten aus der userdata.
Das muß doch aber einfacher gehen ...
Wenn ich folgendes versuche:
SELECT l.ip, l.user_id, l.time, u.user_name, u.user_email FROM lastvisits AS l, userdata AS u WHERE l.user_id = u.user_id ORDER BY l.time DESC;
dann fallen die Daten für lastvisit.user_id = null unter den Tisch, das will ich aber nicht.
Geht das, was ich will, überhaupt?
Ach ja, laut phpinfo ist die MySQL Client API in der Version 4.0.18 im Einsatz.
cu,
Robert