Auslesen aus MySQL DB, selbe Spalteneinträge

fUnKuCh3n

Erfahrenes Mitglied
Hallo,

ich habe nun folgendes Problem, ich habe ein Script das bei jedem Aufruf eines Bildes in der Bildergallerie einen Datensatz in die DB einträgt der wie folgt aussieht:
id gallery ip date time seite bild

jetzt möchte ich für die Admins der Gallerie eine Übersichtsseite erstellen auf der aufgelistet werden soll welche der aufgerufenen Bilder unter den Top 20 sind, jedoch fehlt mir ein bezugspunkt für den mysql_query, da ich nicht weiss wie ich alle Datensätze auslese bei denen Gallery und Bild gleich sind, damit ich für jede einzelne Gallerie im Archiv ne eigene Top 20 Liste habe.

Hat da jemand von euch ne Idee wie ich das ganze Umsetzen kann?

Sascha
 
Hallo!

Um die Klicks zu zählen, solltest Du sie auch speichern..... Du brauchst also noch eine Tabellenspalte für die Klicks.
Eine Abfrage für die Top 20 könnte dann ungefähr so aussehen (ungetestet):
PHP:
mysql_query("SELECT * FROM tabelle WHERE gallery LIKE '%' ORDER BY klicks DESC LIMIT 20;");
Das %-Zeichen bedeutet dass Du Gallerynamen mit beliebigen Zeichen aus der Spalte "gallery" holst.
Das hat den Vorteil dass Du dein Query nicht bei jeder hinzugekommenden/gelöschten Gallery ändern musst.
Anschliessend werden die Klicks, beginnend mit der höchsen Zahl, sortiert und die Ausgabe auf 20 Einträge begrenzt.
Als Spaltentyp für die Klicks würde ich z.b. "int(6)" mit dem Attribut "UNSIGNED ZEROFILL" nehmen.
Letzteres darum, dass die Klicks mit führenden Nullen aufgefüllt werden, da sonst z.b. nach "1" nicht "2" sondern "10" kommen würde.

Gruss Dr Dau
 
Zurück