Ich möchte folgendes, kleines Beispiel konstruieren.
aus einer MYSQL Datenbank werden Artikel ausgelesen und für jeden Artikel kann man die gewünsche Menge in einem Textfeld eingeben. Das ganze wird dann an ein php Dokument abgeschickt. Sieht momentan noch so aus:
Die übergebenen Variablen werden in der action.php folgendermassen verarbeitet:
Zunächst neues Objekt erzeugen + "Preis" Variable übergebn:
Daraufhin wird folgende Klasse angesprochen:
Die nächste Variable ("Menge") wird übergebe:
in folgende Klasse:
Nun stellen sich die ersten Fragen zu OOP in php:
Vielen Dank für Eure Vorschläge/Antworten
aus einer MYSQL Datenbank werden Artikel ausgelesen und für jeden Artikel kann man die gewünsche Menge in einem Textfeld eingeben. Das ganze wird dann an ein php Dokument abgeschickt. Sieht momentan noch so aus:
PHP:
body>
<p>Folgende Artikel stehen zur Verfügung:</p>
<p> </p>
<p>
<?php
// Verbindung zu MYSQL Datenbank herstellen
$connect=mysql_connect();
// Name der Datenbank
$db="shop1";
// Datenbank auswählen - der Wert true wird zurückgeschickt, wenn die Datenbank existiert und darauf zugegriefen werden kann.
mysql_select_db( $db );
$res = mysql_query("select * from artikel");
$num = mysql_num_rows($res);
echo "$num Datensätze gefunden:<br>";
for ($i=0; $i<$num; $i++)
{
// Größe; Beginn Formular;
echo "<form name='action' method='post' action='action.php'>";
$nn = mysql_result($res, $i, "id");
$be = mysql_result($res, $i, "bez");
$pn = mysql_result($res, $i, "preis");
echo "<b>Nr:</b> $nn, <b>Bez:</b> $be, <b>Preis</b> $pn,- ";
// Ein verstecktes Formular mit dem Preis; dient später der einfachereren Zuordnung
echo "<input name='preis' type='hidden' value='$pn'>";
// Menge; Textfeld
echo " | gewünschte Menge: ";
echo "<input type='text' name='menge' size='5' maxlength='3'>";
echo "<p>";
}
// Sende Button
echo "<p></p><input type='submit' name='Submit' value='In den Warenkorb legen'><br>";
echo "</form>";
mysql_close($connect);
?>
</p>
</body>
Die übergebenen Variablen werden in der action.php folgendermassen verarbeitet:
Zunächst neues Objekt erzeugen + "Preis" Variable übergebn:
PHP:
// Neues Objekt:
$meinebestellung=new produkt;
// Methode ausführen - Preis übergeben:
$meinebestellung->preisErmittlung($_POST['preis']);
Daraufhin wird folgende Klasse angesprochen:
PHP:
//Klasse Produkt
class produkt extends position
{
var $nr; //Eigenschaft der Klasse Produkt - Produktnummer
var $bez; //Eigenschaft der Klasse Produkt - die Produktbezeichnung
var $preis; //Eigenschaft der Klasse Produkt - Preis des Produkts
function preisErmittlung($preis) //Methode der Klasse produkt
{
$this->preis=$preis;
}
}
Die nächste Variable ("Menge") wird übergebe:
PHP:
// Methode ausführen - Menge übergeben:
$meinebestellung->berechneBetrag($_POST['menge']);
PHP:
// Klasse Bestellposition
class position extends bestellung
{
var $posnr; // Eigenschaft der Klasse Bestellposition
var $menge; // Eigenschaft der Klasse Bestellposition
function berechneBetrag($menge) //Methode der Klasse position
{
$this->menge=$menge;
$pxm=$this->preis*$this->menge;
echo "Preis mal Menge ist gleich: $pxm";
}
}
PHP:
Nun stellen sich die ersten Fragen zu OOP in php:
- Können Methoden (=function) bzw. Eigenschaften von Klassen (=class) in anderen Klassen verwendet werden? Wie ihr seht, habe ich es oben über den Befehl der Vererbung "extends" getan - ist das so korrekt oder gibt es eine schönere/bessere Lösung?
- Wo soll ich eine if Schleife einbauen, damit alle von der index.php aufgelisteten Artikel auch in der action.php aufgelistet werden?
Vielen Dank für Eure Vorschläge/Antworten