Einzelnen Beitrag anzeigen
  #12  
Alt 30.07.2004, 14:04:19
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Zitat:
Original geschrieben von bweichel
Eine eigene Instanz muss ich bei Vererbung nicht mehr setzen... ist das so korrekt? Denn es funktioniert auch ohne!
Korrekt.

Zitat:
Original geschrieben von bweichel
Problem hab ich nun nur bei der Ausgabe... Die Klasse preise gibt ja die Variable $preis zurück. Wenn die Klasse preise mit Ihrer Methode aufrufe funktioniert das auch.
Nur jetzt ist ja die Klasse artikel dazwischen geschaltet. Nach dem Schema wie ich es bei der Klasse preise gemacht habe funktioniert die Ausgabe nicht mehr! Wie bekomme ich trotzdem über diese Umwege den Preis zurückgeliefert?
Da muss ich mal ein wenig drüber nachdenken bis ich das alles nachvollzogen habe ;-) Werde mich da nachher nochmal melden.

Zitat:
Original geschrieben von bweichel
Dann (sorry ;-)), übergebe ich bei dem der Klasse artikel auch die Anzahl des Artikel. Denn für die Preisberechnung muss ich ja wissen wieviel Stück von dem Artikel gekauft wurden. Es wäre aber viel einfach und besser, wenn ich die Stückzahl nur übergeben könnte, wenn sie > 1 ist.
Ich habe das einmal ausprobiert, aber dann erscheint die Fehlermeldung, dass die Methode XXX den 2. Parameter vermisst.
Du kannst ja auch optionale Parameter in Methoden verwenden. Genauso wie in Funktionen:

PHP-Code:
<?php
function preisliste($art_nr$anzahl 1) {
        
$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]);
    }
?>
Dann brauchst du als zweiten Parameter jetzt nur die Anzahl mit angeben, wenn diese größer als 1 ist. Ansonsten wir die Funktion eben mit $anzahl = 1 ausgeführt.
Mit Zitat antworten