probleme mit klasse (oop)

Gesperrt
Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

probleme mit klasse (oop)

Beitrag von Vetinari »

hi leute,

versuche mich gerade an der objektorientierten programmierung, kriege aber die kurve noch nicht ganz :D

habe folgende methode in meiner class Termine:

Code: Alles auswählen

function getContact(&$db, &$cfg) 
    {
        $db = new DB_Contenido;
        
        $sql = "SELECT * FROM ".$cfg["tab"]["contact"]." WHERE re_idart=".$idart."";
        $db->query($sql);
            
        while ($db->next_record())
        {          
            $aContact = array(0=>$db->f("an_idart"), 1=>$db->f("an_ansprechpartner"), 2=>$db->f("an_vorname"), 3=>$db->f("an_name"), 4=>$db->f("an_strasse"), 5=>$db->f("an_nummer"), 6=>$db->f("an_plz"), 7=>$db->f("an_ort"), 8=>$db->f("an_telefon"), 9=>$db->f("an_fax"), 10=>$db->f("an_email"), 11=>$db->f("an_web"));
            
        }
        return $aContact;
    } 
möchte nun das array $aContact in der form $aContact[0] ... $aContact[11] in meinem modul zur verfügung haben.
dazu habe ich folgenden aufruf der methode geschrieben:

Code: Alles auswählen

        $con = new Termine;
        $i = 0;
        foreach($wert = $con->getContact(&$db, &$cfg, $idart, $aContact) as $key)
        {
            $aContact[$i] = $key;
          $i ++;          
        } 
... welcher aber so nicht funktioniert. wo liegt mein fehler?

danke und gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.
MichFress
Beiträge: 750
Registriert: Mo 5. Jan 2004, 22:32
Wohnort: Bochum
Kontaktdaten:

Beitrag von MichFress »

Du hättest uns die Fehlermeldung, die der PHP-Parser ausgibt, mitteilen können...

Auf den ersten Blick ist mir zunächst aufgefallen, dass die Anzahl der Argumente deiner Funktion fehlerhaft ist..

ungetesteter Verbesserungsvorschlag:

Code: Alles auswählen

function getContact($idart)
    {
        GLOBAL $cfg; //wir binden $cfg als globale Variable ein
        $db = new DB_Contenido;
       
        $sql = "SELECT * FROM ".$cfg["tab"]["contact"]." WHERE re_idart=".$idart."";
        $db->query($sql);
           
        while ($db->next_record())
        {         
            $aContact = array(0=>$db->f("an_idart"), 1=>$db->f("an_ansprechpartner"), 2=>$db->f("an_vorname"), 3=>$db->f("an_name"), 4=>$db->f("an_strasse"), 5=>$db->f("an_nummer"), 6=>$db->f("an_plz"), 7=>$db->f("an_ort"), 8=>$db->f("an_telefon"), 9=>$db->f("an_fax"), 10=>$db->f("an_email"), 11=>$db->f("an_web"));
           
        }
        return $aContact;
    } 

Code: Alles auswählen

$con = new Termine;
$aContact = $con->getContact($idart); //übergibt das Array an die Variable
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)
Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari »

hi michfress,

danke für die schnelle antwort!
funktioniert alles bestens ...

der aufruf:

Code: Alles auswählen

function getContact(&$db, &$cfg, $idart)
erspart die zeile: global $cfg
war ein persönlicher tipp von willi man von 4fb.

damit muss der aufruf dann natürlich entsprechend sein :wink:

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.
Gesperrt