Einzelnen Beitrag anzeigen
  #9  
Alt 30.07.2004, 11:59:22
bweichel bweichel ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 196
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 errorCall 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($preis2"," ,".");
        
        return 
$preis;
    }
    
    function 
plus_prozent($preis$plus) {
        
$plus = ($preis 100) * $plus;
        
$preis += $plus;
        
$preis number_format($preis2"," ,".");
        
        return 
$preis;
    }

    function 
minus($preis$plus) {
        
$preis -= $plus;
        
$preis number_format($preis2"," ,".");
        
        return 
$preis;
    }
    
    function 
minus_prozent($preis$plus) {
        
$plus = ($preis 100) * $plus;
        
$preis -= $plus;
        
$preis number_format($preis2"," ,".");
        
        return 
$preis;
    }
    
    function 
gleich($preis) {
        
$preis number_format($preis2"," ,".");
        
        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
Mit Zitat antworten