0251 / 590 837 15
info@a-coding-project.de
;

Datenbankklasse Teil 5 (CMS)

Heute gelangen wir beim selbst erstellten CMS zu der Datenbankumstellung im Seitenbereich. Diesen werden wir heute aber nur zum Teil umstellen.

Wenn man auf Seiten klickt, ihr kennt es mittlerweile, bekommt ihr wieder schöne MySQL-Fehler. Fangen wir also an mit der Datei /admin/includes/sites.php:

<?PHP
  $res = $db->ReadRows("SELECT * FROM {'dbprefix'}pages ORDER BY title LIMIT 0,30");
  if($res){
    foreach($res as $page){
      echo "<tr>
              <td>".$page->title."</td>
              <td>".$page->alias."</td>
              <td>
                <a title="Bearbeiten" 
                   href="index.php?page=site-edit&site=".$page->alias."">
                  <img src="/system/images/icons/page_edit.png" />
            </a>
                <a title="L&ouml;schen" 
               href="index.php?page=site-delete&site=".$page->alias."">
                  <img src="/system/images/icons/cross.png" />
            </a>
              </td>
            </tr>";
      }
  }
?>

Weiter geht’s mit dem Seiten erstellen. Hier gibts auf der /admin/includes/site-new.php nur eine Zeile zu ändern:

$id = Page::create($db->EscapeString($_POST['alias']));

Die Klasse (system/classes/page.php) ist schon etwas größer. Diese werden wir nun zum Teil Bearbeiten:

Funktion loadProperties:

  function loadProperties($alias){
    if ($alias == "") {
    $alias = "home";
    }
    $row = $GLOBALS['db']->ReadRow("SELECT id,title,owner,menu FROM {'dbprefix'}pages 
                           WHERE alias = '".$alias."'");
    if($row){
      $this->id = $row->id;
      $this->title = $row->title;
      $this->ownerid = $row->owner;
      $this->menu = $row->menu;
      $this->alias = $alias;
      $this->meta  = new Meta();
      $this->meta->pageid = $this->id;
      $this->meta->load();
    }
  }

Funktion Create:

  function create($alias){
    $res = $GLOBALS['db']->Execute("INSERT INTO {'dbprefix'}pages (alias) VALUES ('".$alias."')");
    if($res){
      $args['id']    = mysql_insert_id();
      $args['alias'] = $alias;
      EventManager::raiseEvent("page_created","../",$args);
    }
    return mysql_insert_id();
  }

Leider müssen wir hier noch die eingetragene Id Auslesen. Darum kümmern wir uns beim nächsten mal 😉

Kommentare

Daniel schrieb am 15.03.2010:

Ich muss schon sagen das die Dateien dadurch etwas kleiner werden. Schönes Ding MfG Daniel