MySQL-Tabelle in WordPress ausgeben

Heute wollen wir uns anschauen wie auf einer WordPress-Seite eine MySQL-Tabelle ausgeben können.

Die Programmierung in PHP wollen wir selbst vornehmen, sodass wir die Ausgabe flexibel anpassen können.

Legen wir los! Hier ist die Tabelle:

Legen wir ein paar Datensätze an:

Die Ausgabe soll in Form einer kleinen Link-Liste auf einer Unterseite erfolgen:

Das Plugin

Der erste Schritt führt uns zu einem Plugin, welches uns erlaubt PHP-Code in WordPress zu verwenden. PHP Execution heißt das Plugin. Es wird leider nicht mehr aktiv gepflegt, funktioniert aber auch aktuell mit WordPress 5.3 ohne Probleme.

Falls einer eine gute Alternative kennt, gerne in den Kommentaren.

Der Code

Nach der Installation des Plugins können wir PHP-Code in den Quelltext der Seite einbringen. Dies geschieht mithilfe der folgenden Tags:

<phpcode>
</phpcode>

PHP-Code innerhalb dieser Tags wird vom Plugin ausgeführt.

Für den Datenbankzugriff und die Ausgabe der Tabelle verwenden wir den folgenden Code. Den Editor stellen wir vorher auf “Text um”:

<phpcode>
<?php
 //Datenbankzugriffsvariablen 
  $dbname="db"; 
  $dbhost="localhost"; 
  $dbuser="dbu"; 
  $dbpass="pass";    
 
  //SQL Befehl zur Abfrage der Postings 
  $sql = "SELECT * FROM Adresse ORDER by ID DESC"; 
 
  //Datenbank öffnen, SQL-Befehl ausführen, Datenbank schließen 
  $db = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname) or die("Konnte keine Verbindung zur Datenbank herstellen"); 
	$sqlRes = mysqli_query($db, $sql);  
  mysqli_close($db);
 
  $recordCount = mysqli_num_rows($sqlRes); 

  echo "<table>\n";
  echo "<tr>\n";
  echo "<th>Name</th>\n";
  echo "<th>Vorname</th>\n";
  echo "<th>Webseite</th>\n";
  echo "</td>\n";

  //Zeilen ausgeben 
  for ($i = 0;$i < $recordCount;$i++) { 
      $arCur = mysqli_fetch_array($sqlRes);        
      echo "<tr>\n";

      echo "<td>\n";
      echo utf8_encode($arCur["Name"]);
      echo "</td>\n";

      echo "<td>\n";
      echo utf8_encode($arCur["Vorname"]);
      echo "</td>\n";

      echo "<td>\n";
      echo "<a href=\"". $arCur["Webseite"] . "\" target=\"_blank\">" . $arCur["Webseite"] . "</a>\n";
      echo "</td>\n";

      echo "</tr>\n";
  }

  echo "</table>\n"
?>
</phpcode>

Zuerst öffnen wir hier die Datenbank, anschließend erstellen wir die Überschriften der Tabelle und geben die Daten aus.

Die Funktion “utf8_encode” verwende ich hier, damit die Umlaute aus der Datenbank passen. Je nach Kodierung der Datenbank und/oder der Webseite kann dies auch weggelassen werden.

Mehr ist gar nicht notwendig, wie das Ergebnis in der Vorschau der Seite zeigt:

So können wir einfach beliebige MySQL-Daten in WordPress ausgeben. Das PHP-Plugin lässt sich flexibel nutzen auch für andere Ausgaben und Aufgaben in PHP.

2 Kommentare

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.