Hallo,
erstmal danke das er mir gestern bei meinem Problem geholfen habt. Ich hoffe ihr seit auch heute wieder mit dabei ;-).
Das mit meiner Klasse warenkorb funktioniert nun bestens. Heute habe ich nun an einer Klasse preise und einer Klasse artikel gearbeitet. Sie steht auch schon soweit, jedoch gibt es bei der Klasse artikel noch das Problem, dass ich aus der Klasse artikel nciht auf die preise zugreifen kann.
Die Klasse preise soll nichts anderes tun als die Preise im richtigen Format auszugeben und ggf. Mwst. draufschlagen oder abziehen.
Die Klasse artikel hingegen besorgt mir alle Artikeldaten und den dazugehörigen Preis. Da ich den Preis sofort im richtigen Format haben möchte, habe ich hierzu aus der Klasse artikel die Klasse preise aufgerufen.
Leider funktioniert es nicht, die Fehlermeldung lautet:
PHP-Code:
Fatal error: Call to a member function on a non-object in /var/www/.../docs/_php/class_artikel.php on line 30
Hier meine Klasse preise
PHP-Code:
class preise {
function plus($preis, $plus) {
$preis += $plus;
$preis = number_format($preis, 2, "," ,".");
return $preis;
}
function plus_prozent($preis, $plus) {
$plus = ($preis / 100) * $plus;
$preis += $plus;
$preis = number_format($preis, 2, "," ,".");
return $preis;
}
function minus($preis, $plus) {
$preis -= $plus;
$preis = number_format($preis, 2, "," ,".");
return $preis;
}
function minus_prozent($preis, $plus) {
$plus = ($preis / 100) * $plus;
$preis -= $plus;
$preis = number_format($preis, 2, "," ,".");
return $preis;
}
function gleich($preis) {
$preis = number_format($preis, 2, "," ,".");
return $preis;
}
}
Und zuletzt, die Klasse artikel:
PHP-Code:
class artikel {
function artikel() {
include("class_preise.php");
$mein_preis = new preise();
}
function preisliste($art_nr, $anzahl) {
$query = "SELECT * ";
$query.= "FROM preisliste ";
$query.= "WHERE art_nr = '$art_nr' ";
$query.= "AND preisgruppe = 1 ";
if($anzahl != "") {
$query.= "AND anzahl <= $anzahl ";
}
else {
$query.= "AND anzahl = 1 ";
}
$query.= "ORDER BY anzahl DESC ";
$query.= "LIMIT 1";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$this->mein_preis->gleich($row[preis]);
}
function select($art_nr, $anzahl) {
$query = "SELECT * ";
$query.= "FROM artikel ";
$query.= "WHERE art_nr = '$art_nr'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$this->preisliste("$row[art_nr]", $this->anzahl);
}
}
$mein_artikel = new artikel();
print $mein_artikel->select("1010a", 1);
print "$artikel_nr <br>";
Vielen, vielen Dank für die Hilfe...
Gruß Björn