Top 3 Einträge aus Datenbank auslesen

fUnKuCh3n

Erfahrenes Mitglied
Hey, ich stehe gerade etwas auf dem Schlauch, ich habe ne Gallery und möchte gerne dass ich die 3 am meisten besuchten Bilder als eine kleine TOP 3 Seite anzeigen lasse, aber wie kann ich das realisieren?

Bei jedem Aufruf eines Bildes in der Gallery wird in eine Tabelle die Bildid geschrieben, mehr nicht, und nun würd ich halt gern wissen wie ich die 3 am meist vorkommensten Bildids aus der Tabelle auslesen kann?

Mfg. Sascha
 
Hallo,

versuchs mal mit

select Bildid from deineTabelle order by Bildid desc limit 3;

Du selektierts das Feld Bildid aus deiner Datenbank absteigend sortiert
und lässt nur die ersten 3 sätze ausgeben.
 
Hi ho, er will ja was anderes, er will ja das die Meist angeschauten bilder. In dem falle sind es 3. Angezeigt werden wie eine Kleine Top Liste.
Mach es doch so,

Du machst eine weitere zelle in der Bilddatenbank,
und machst ein kleines script, was immer "+1" in der zelle bei jedem Klick aufs Bild macht, übermitteln tust es halt per ID vom bild um das richtige auszuwählen.
Dann halt ganz normal eine ausgabe auf der gewünschten seite, aber nicht Order by ID sonder ORDER by DEINE_ZÄHL_ZELLE DESC LIMIT 0, 3;
ist eigentlich ganz simpel.
 
Naja das ist ja nicht so meine Idee, ich wollt es halt eher so gelöst haben, weiss da vllt jemand wie das umsetzbar ist?

Lg.
 
Wenn ich dich richtig verstehe könntest du die Funktion count() verwenden.
Bsp.:
Code:
SELECT count(bildid) AS anz FROM tabelle GROUP BY bildid ORDER BY anz DESC LIMIT 3
 
Zurück