[OOP] Problem mit Klassen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [OOP] Problem mit Klassen

    Hallo,

    ich bin noch nicht so geschickt im Umgang mit Klassen. Ich möchte mein Shop System nun mit Klassen programmieren, damit ich leichter Dinge hinzufügen bzw. ändern kann.

    Ich habe eine Klasse artikel und eine klasse preise. Zuerst möchte ich über die beiden Parameter artikelnum (Artikelnummer) oder gruppennum (Warengruppe) alle Artikel auflisten.

    Jeder Artikelnummer kann eine unbestimmte Zahl an Preisen haben. Je nach bestellter Anzahl (Mengerabatt) und Kundengruppe (Endkunde, Händler).
    Und genau da liegt mein Problem... da ich auch mit Templates arbeite muss ich die Preise und die Artikel in einem Array verarbeiten. Für die Artikel geht das ohne weiteres, jedoch habe ich bei den Preise so mein Problem...

    Wie kann ich die Preise in mein Array $artikel mit einbauen und sie später in einer eigenen foreach - Schleife wieder auslesen? Für die Template - Arbeit verwende ich Smarty.

    Hier meine Klassen... falls ihr was anders machen würdet... bin ich auch gerne bereit zu lernen...

    Vielen Dank im Vorraus... ich hoffe ihr könnte mir helfen...

    Klasse artikel:

    PHP-Code:
    <?php
    class artikel {
        
        var 
    $artikelnum;
        var 
    $gruppennum;
        
        function 
    get_artikel($artikelnum ""$gruppennum "") {
            array(
    $artikel);
            
            
    $query "SELECT artikelnum, bezeichnun, zusatztext, bild ";
            
    $query.= "FROM artikel ";
            
            if(
    $artikelnum != "") {
                
    $query.= "WHERE artikelnum = '$artikelnum' ";
            }
            else {
                
    $query.= "WHERE warengrupp = '$gruppennum' ";
                
    $query.= "OR untergrupp = '$gruppennum' ";            
            }

            
    $query.= "ORDER BY bezeichnun ASC";
            
            
    $result mysql_query($query);
            
            while(
    $row mysql_fetch_array($result)) {
                
    $artikel[$row[artikelnum]][artikelnum] = "$row[artikelnum]";    
                
    $artikel[$row[artikelnum]][bezeichnun] = "$row[bezeichnun]";    
                
    $artikel[$row[artikelnum]][zusatztext] = "$row[zusatztext]";
                
    $artikel[$row[artikelnum]][bild] = "$row[bild]";
                
    $artikel[$row[artikelnum]][preis_1] = preise::get_preis_1($row[artikelnum]);
            }
            
            return 
    $artikel;
        }
    }
    ?>
    Klasse preise:

    PHP-Code:
    <?php
    class preise {
        var 
    $artikelnum;
        var 
    $variantennum;

        function 
    get_preis_1($artikelnum) {
            
    $query "SELECT preis1 ";
            
    $query.= "FROM preisliste ";
            
    $query.= "WHERE artikelnum = '$artikelnum' ";
            
    $query.= "AND preisstaff = '$_SESSION[preisstaff]' ";
            
    $query.= "AND anzahl = '1' ";    
            
    $query.= "ORDER BY preis1 ASC ";
            
    $query.= "LIMIT 1";
            
            
    $result mysql_query($query);
            
            
    $row mysql_fetch_array($result);
            
            
    $preis $row[preis1];

            return 
    $preis;
        }
        
        function 
    get_preis_artikelnum($artikelnum) {
            array(
    $preis_artikelnum);
            
            
    $query "SELECT preis1, anzahl ";
            
    $query.= "FROM preisliste ";
            
    $query.= "WHERE artikelnum = '$artikelnum' ";
            
    $query.= "AND preisstaff = '$_SESSION[preisstaff]' ";
            
    $query.= "ORDER BY anzahl ASC";
            
            
    $result mysql_query($query);

            while(
    $row mysql_fetch_array($result)) {
                
    $preis_artikelnum[$row[anzahl]] = $row[preis1];    
            }
            
            return 
    $preis_artikelnum;
        }
    }
    ?>
    Ich habe bereits die Methode get_preis_1() über die Klasse artikel verwendet. Aber das medimensionale Array preis_artikelnum bekomme ich einfach nicht zum laufen. Es soll später auch über die artikel Klasse verfügbar sein. Die Methode dazu nennt sich get_preis_artikelnum().

    Vielen Dank!

    Gruß Björn
    » http://www.htaccess-generator.com

  • #2
    PHP-Code:
    $preise = &new preise;
    $artikel[$row[artikelnum]][preis_1] = $preise->get_preis_1($row[artikelnum]); 

    Kommentar

    Lädt...
    X