SteviesWebsite

MySQL Tabellen auflisten für leichtere Administration

Code & Blog Logo

Code & Blog Logo

In unserem CMS soll es möglich sein, auch die Datenbank zu bearbeiten (ähnlich wie bei PhpMyAdmin). So muss man nicht immer zwischen PhpMyAdmin und CMS wechseln.

Heute fangen wir an die Tabellen aufzulisten. Dafür gibt es den MySQL Befehl “SHOW TABLES“. Damit auch alles schön objektorientiert ist erstellen wir uns dafür eine MySQL Klasse. Also Datei /system/classes/MySQL.php anlegen.

Darin schreiben wir als erstes die Funktion, die die Tabellennamen als Array zurückliefert:

<?PHP
  class MySQL{

    function getTables(){
      $res = mysql_query("SHOW TABLES");
      while($row = mysql_fetch_row($res)){
        $tables[] = $row[0];
      }
      sort($tables);
      return $tables;
    }

  }
?>

Des weiteren wollen wir dort auch noch die Einträge einer Tabelle zählen lassen. Dafür gibt es die Funktion countTableEntries, welche als Parameter den Namen der Tabelle benötigt. Das sieht dann so aus:

    function countTableEntries($table){
      $res = mysql_query("SELECT COUNT(*) FROM ".mysql_real_escape_string($table));
      $row = mysql_fetch_row($res);
      return $row[0];
    }

Nun müssen wir noch die Klasse in der /admin/index.php importieren. Das sieht dann so aus:

<?PHP
  session_start();
  include("../system/dbconnect.php");
  include("../system/settings.php");
  include("../system/classes/user.php");
  include("../system/classes/menu.php");
  include("../system/classes/page.php");
  include("../system/classes/MySQL.php");
  include("../system/filterfilename.php");
  include("../system/sys.php");
?>

Fehlt uns also erstmal nur noch das ausgeben. Im Hauptmenü wird bereits auf die Datei /admin/includes/db.php verlinkt. In ihr rufen wir unsere Funktionen auf:

<h1>Datenbank</h1>
<table>
  <thead>
    <tr>
      <td>Name</td>
      <td>Aktionen</td>
      <td>Eintr&auml;ge</td>
    </tr>
  </thead>
  <tbody>
    <?PHP
      foreach(MySQL::getTables() as $table){
        echo "<tr>
                <td>".$table."</td>
                <td>Kommen noch ;-) </td>
                <td>".MySQL::countTableEntries($table)."</td>
               </tr>";
      }
    ?>
  </tbody>
</table>

Off-Topic:Habt ihr schon die neuen Admin-Kommentare gesehen? Mein Kopf ist nun auf der linken Seite und der Hintergrund meiner Kommentare ist hellblau. So könnt ihr sofort sehen was von mir kommt. Mach mal unten ein Beispielkommentar^^

Dies ist ein Beitrag aus der Aktion Code & Blog, in der hier ein eigenes CMS erstellt wird.

RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

8 Kommentare »

  1. Beispielkommentar XD

    Kommentar von Stefan Wienströer — 3. September 2009 @ 16:28

  2. Müssen wir nicht noch die MySQL Klassen im Admin index.php script includen oder war das schon drann und ich habs wieder mal nicht mitbekommen?

    Kommentar von Daniel Busch — 3. September 2009 @ 18:52

  3. Musst nur genau lesen ;-) Scherz^^ Hab’s vergessen zu schreiben. Das kommt davon, wenn man coded und nebenbei bloggt. ICh glaub ich erstell mir noch nen zweites Testystem, wo ich einen Tag später das ganze teste und erst dann veröffentliche. Sorry dafür.

    Kommentar von Stefan Wienströer — 3. September 2009 @ 19:44

  4. Dafür sind wir (ich) ja da. Das währe wenig lehrreich wenn jeder nur copy und paste machen würde. (Nach dem Motto–>Dummheit schafft Freizeit, oder Team–>Toll ein anderer machts.

    ;-)

    Kommentar von Daniel Busch — 3. September 2009 @ 19:54

  5. Da kann man dann auch sofort zu Joomla greifen^^

    Kommentar von Stefan Wienströer — 3. September 2009 @ 20:09

  6. Ich lege dir mal die __autoload Funktion ans Herz. Erspart dieses ganze inludegedöns!

    Kommentar von Markus Thömmes — 3. September 2009 @ 21:31

  7. Hör mir auf mit dem sperrigen Monster.

    Kommentar von Daniel Busch — 4. September 2009 @ 06:53

  8. @Markus: Werd ich mir mal ansehen, danke. Hab schon mit dem Gedanken gespielt gehabt, da mal was anderes zu machen. Bin nur noch nicht zu gekommen was passendes rauszusuchen.

    Kommentar von Stefan Wienströer — 4. September 2009 @ 13:26

Hinterlasse einen Kommentar

Trackbacks/Pingbacks

Facebook LogoErstelle deinen eigenen virtuellen PC. Das ist bereits mit leichten Mitteln möglich, welche Du in diesem Tutorial lernst.[mehr...]

Code & Blog LogoErstelle dein eigenes CMS mit PHP. Dieses Tutorial wird dir zeigen wie das geht. Also lies dir es durch und frische deine PHP Kenntnisse auf. [mehr...]

LiveEditor - Kostenloser WebEditorDer kostenlose WebEditor hilft dir dabei, deine Website besser zu entwickeln. Mit dem Syntax-Highlighting fällt geht alles viel schneller. Download jetzt! [mehr...]

Webservice erstellenWebservices sind oft die Schnittstelle zwischen Server und Client. Wie man mit PHP einen WebService erstellt, lernt ihr in diesem Tutoial. [mehr...]

Diskussion starten
  • RSS
  • Blogverzeichnis - Blog Verzeichnis bloggerei.de
MySQL Tabellen auflisten für leichtere Administration © SteviesWebsite.de - Kontakt | Impressum