Hallo,
habe heute mal angefangen mich mit OOP zu beschäftigen.
Ziel ist, eine Klasse zu erschaffen die Daten aus einer Datenbank ausliest und formatiert in einer Tabelle ausgibt.
Dabei habe ich mir folgenden Code überlegt, der bis auf eine Kleinigkeit auch gut funktioniert:
class select
{
// Funktion zum selecten
function query($sql)
{
$this->result = mysql_query($sql) or die (mysql_error());
}
function getres()
{
$row = mysql_fetch_array($this->result, MYSQL_ASSOC);
return $row;
}
//gibt einen formatierten table aus, mit allen ausgelesenen Daten
function zusammensetzen($ueberschrift,$rowdefinition)
{
//ueberschrift
echo "<table border="1"> \n <tr>$ueberschrift</tr>";
//inhalt
while ($row = $this->getres()) { echo "<tr> $rowdefinition </tr>";}
echo "</table>";
}
}
$db = new select;
$db->query("SELECT * from geraet");
$db->zusammensetzen(
"<td>hier</td><td>ueberschirft</td>",
"<td>$row[verwaltungsnummer]</td> <td>$row[produktname]</td>
");
Damit man also nicht für alle möglichen Abfragen unnötige Codeteile kopieren muss habe ich mir das überlegt.
Mit:
$db->zusammensetzen(
"<td>hier</td><td>ueberschirft</td>",
"<td>$row[verwaltungsnummer]</td> <td>$row[produktname]</td>
");
soll eben festgelegt werden was, wie in der tabelle dargestellt werden soll.
Leider werden diese arrayelemente $row[verwaltungsnummer] .. nicht verarbeitet (das <td> vor bzw </td> nach $row[verwaltungsnummer] aber schon). wenn ich $row[verwaltungsnummer] direkt anstatt $rowdefinition einsetze funktioniert das ganze.
Wie könnte ich dieses Problem lösen?
Danke :)
PS. Designtechnisch ist der phpcode wohl nicht gerade optimiert, ist halt mein erster Tag mit OOP ;-)
PPS: In der Suche konnte ich auch nichts finden, mangels griffigen Suchbegriffen..