Neulich habe ich zufällig beim Umhersurfen auf einem Blog ein Preisausschreiben entdeckt: wer einen bestimmten Artikel kommentiert, nimmt an der Verlosung von Preisen teil. Ich habe das Ganze von der technischen Seite her mal analysiert und mich gefragt, wie wohl die „Ziehung“ der Gewinner erfolgt. Ob wohl die Kommentare ausgedruckt, in die große Lostrommel getan werden und die Glücksfee die Gewinner zieht?

Was das jetzt mit der Artikelüberschrift zu tun hat? Wie gesagt, ich finde die technische Umsetzung sehr interessant. Und weil ich

  1. im Moment nichts besseres zu tun habe und
  2. mal wieder einen mehr oder weniger sinnvollen Artikel schreiben wollte und
  3. denke, dass man an diesem praktischen Beispiel ganz prima eine Abfrage auf Datenbankebene demonstrieren kann.

Also. Angenommen wir setzen WordPress ein und wollen alle Kommentare eines bestimmten Artikels aus unserer Datenbank in eine Excel-Datei exportieren, würden wir wie folgt vorgehen:

Wir melden uns zunächst bei der Datenbankverwaltung unseres Webhosters (meist phpMyAdmin) an.

Nun wählen wir aus dem Menü links die Datenbank mit unseren WordPress-Daten. Wir bekommen die zur Datenbank gehörigen Datenbanktabellen angezeigt. Sucht die Tabelle wp_comments und klickt auf das Anzeigen-Symbol aus der Spalte Aktion.

Wir sehen nun die einzelnen Datensätze, also die Kommentare, unseres Blogs. Um nun die Kommentare des einzelnen Artikels zu separieren, benötigen wir die entsprechende Artikel-ID. Das können wir auf zweierlei Arten machen:

Ihr schaut euch den Artikel und die zugehörigen Kommentare normal über eure Webseite an und merkt euch beispielsweise einen Kommentartext oder einen Kommentarautor. Diesen Text oder den Autor sucht ihr nun in den angezeigten Datensätzen. Habt ihr den Text oder den Autor gefunden, merkt euch die Nummer aus der Spalte comment_post_ID. Dies ist nämlich die ID des entsprechenden Artikels.

Zweite Möglichkeit:

Ihr wechselt zur Datenbanktabelle wp_posts, in der die Artikel und Seiten eures Blogs gespeichert sind. Hier sucht ihr nun über das Datenbankfeld post_title nach dem Namen eures Artikels. Mit einem Klick auf den Spaltenkopf, könnt ihr übrigens die Spalte sortieren, ganz wie bei Excel. Im Feld ID habt ihr dann eure Artikel-ID. Merken!

Nun haben wir alle Informationen zusammen. Wir haben die Artikel ID, wir wissen, dass die Kommentare in der Tabelle wp_comments gespeichert sind und das entsprechende Datenbankfeld zur Auswahl des Artikels comment_post_ID benannt ist. Daraus können wir uns nun die Datenbankabfrage zusammenbauen.

SQL-Abfragen beginnen immer mit der Angabe der auszugebenden Datenbankfelder. Da wir hier keine Einschränkungen wollen und alle Felder ausgeben möchten ist der entsprechende Befehl

Select *

Es folgt die Angabe der Datenbanktabelle aus der ausgewertet werden soll

From wp_comments

Und nun die Beschränkung auf den einen Artikel

Where 'comment_post_ID'="[Artikel-ID]"

Insgesamt lautet die Datenbankabfrage:

Select *
From wp_comments
Where 'comment_post_ID'="[Artikel-ID]"

Wo gebt ihr die Abfrage ein? Hier

Es erscheint ein Abfragefenster, in das ihr den SQL-Befehl eintragen könnt. Hilfreich ist hier die rechte Auswahlliste Felder. Ein Doppelklick auf ein Feld übernimmt den Feldnamen in die Abfrage.

Bestätigt ihr mit OK bekommt ihr das Ergebnis umgehend angezeigt.

Um die ermittelten Datensätze nun zu exportieren, wählt unter dem Abfrageergebnis den Button Exportieren.

Es wird euch eine Auswahl verschiedener Formate angezeigt. Wählt das für euch passende Format und die entsprechenden Optionen.

Achtet darauf, dass der Haken bei Senden gesetzt ist. Mit einem Klick auf OK wird der Download der Datei gestartet.

Haben wir noch was vergessenen? Richtig. Wir müssen ja noch die Preise verteilen.

Also wie wählt der Blog-Autor nun wohl die Gewinner aus? Wär ich an seiner Stelle, würde ich das mit einer Excel-Formel machen. Und zwar so:

Angenommen wir haben 100 Datensätze, würde ich folgende Formel ausführen:

=ZUFALLSBEREICH(1;100)

Als Ergebnis wird eine Zahl zwischen 1 und 100 ausgegeben, von Excel ausgewählt, ganz unparteiisch. Das ist der Gewinner.

Und alles unter Aufsicht eines Notars versteht sich.