Aha, dann würde ich das Ganze so aufbauen:
Tabelle 1: User
Tabelle 2: Kategorien
Tabelle 3: Bilder
User:
id, name, vorname, ...
Kategorie:
id, name
Bilder:
id, user(id aus der Tabelle User), kategorie(id aus der Tabelle Kategorie), bild(dateiname), ggf. bildname, datum
Da Du die Bilder nach Datum sortieren möchtest, solltest Du für das Datum die Funktion mktime() einsetzen und in der Datenbank speichern. Da wahrscheinlich kein Bild vor dem 1.1.1970 gemacht wurde, kannst Du die Datumseingabe auf Richtigkeit überprüfen und dann mit mktime() eine Zeitmarke erstellen.
Ich würde deshalb eine Tabelle Kategorie anlegen, damit keine Kategorien doppelt eingetragen werden können. Ausserdem kannst Du den Usern die Möglichkeit geben, eine vorhandene Kategorie auszuwählen oder eine neue erstellen zu lassen. Sollte der User eine Neue erstellen, kannst Du gleich einen Ordner anlegen lassen, der die Bilder der Kategorie enthält (wenn Du nicht alle Bilder in einem Ordner halten willst).
Das wäre zumindest erstmal der Anfang.
Gruß,
Stephan