PHP & OOP - Einsatz von Methoden/Eigenschaften

barney_hh

Mitglied
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:

PHP:
body>
<p>Folgende Artikel stehen zur Verf&uuml;gung:</p>
<p>&nbsp;</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:&nbsp;";
	  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']);
in folgende Klasse:

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:
  1. 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?
  2. 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
 
Zurück