Radhad
Erfahrenes Mitglied
Hallo zusammen,
ich habe ein Forum mit PHP konstruiert und möchte dies jetzt in OOP umsetzen. Allerdings stehe ich imo ein bisschen auf dem Schlauch, wie ich das richtig machen soll.
Derzeit habe ich folgende Klasse für die Datenbank:
Und bisher folgende Klasse für das Forum:
1. Frage hierzu: sind die Klassen so in Ordnung? Habe ich irgendetwas falsch bedacht?
2. in der Klasse "forum.class.php" nutze ich die Funktion "show_forums()", welche mir alle Foren anzeigen soll. WIe mache ich die Ausgabe am besten? Momentan gebe ich die Ressource zurück. Sollte ich dann ne eigene Funktion zur Aufbereitung der Felder haben?
Gruß Radhad
ich habe ein Forum mit PHP konstruiert und möchte dies jetzt in OOP umsetzen. Allerdings stehe ich imo ein bisschen auf dem Schlauch, wie ich das richtig machen soll.
Derzeit habe ich folgende Klasse für die Datenbank:
PHP:
<?php
class MySQL
{
private $server = "localhost";
private $user = "root";
private $password = "";
private $db = "forum";
function server_connect()
{
if(!mysql_connect ($host, $user, $password))
{
return false;
}
mysql_select_db($db);
$sql = "SET NAMES 'utf8'";
mysql_query($sql);
return true;
}
function query($query)
{
$fehler = false;
$fehlertext = "";
$ressource = mysql_query($query);
if(empty($ressource))
{
$fehler = true;
$fehlertext .= mysql_error();
}
if($fehler == true)
{
return $fehlertext;
}
else
{
return $ressource;
}
}
function num_rows($ressource)
{
$rows = mysql_num_rows($ressource);
return $rows;
}
function affected_rows($ressource)
{
$rows = mysql_affected_rows($ressource);
return $rows;
}
}
?>
PHP:
<?php
class Forum
{
public function show_forums()
{
$ressource = $MySQL->query("SELECT forumid, forumname, description, showorder, parentforumid FROM forums ORDER BY parentforumid AND showid");
if(is_string($ressource) == true)
{
echo $ressource;
}
else
{
return $ressource
}
}
public function create_forum($id, $name, $desc, $parentid = 0)
{
$ressource = $MySQL->query("SELECT * FROM forums WHERE parentforumid = ".mysql_real_escape_string($parentid).";");
$rows = $MySQL->num_rows($ressource);
$ressource = $MySQL->query("INSERT INTO forums (forumid, forumname, description, showorder, prentforumid) VALUES (".mysql_real_escape_string($id).",'".mysql_real_escape_string($name)."','".mysql_real_escape_string($desc)."',".mysql_real_escape_string(($rows+1)).",".mysql_real_escape_string($parentid).")");
$rows = $MySQL->num_rows($ressource);
if($rows == 0)
{
return false;
}
else
{
return true;
}
}
}
?>
2. in der Klasse "forum.class.php" nutze ich die Funktion "show_forums()", welche mir alle Foren anzeigen soll. WIe mache ich die Ausgabe am besten? Momentan gebe ich die Ressource zurück. Sollte ich dann ne eigene Funktion zur Aufbereitung der Felder haben?
Gruß Radhad