Ik heb een classe en in die classe worden gegevens ingelaen uit de database en in een database bewaard.

Mijn probleem is dat ik die gegevens niet kan aanspreken. Kan er mij iemand zeggen hoe ik aaan die gegevens kom.

<?php
class CompAdres
{
    public $CompAdresData=array();
    private $CompAantalAdres=0;
    
    function ReadAdres($inDBConn, $inPersID)
    {
	$result = $inDBConn->query("Select * From Adres Where Adres.PersoonID=" . $inPersID);
	$this->CompAantalAdres = $result->num_rows;
	while($CompAdresData[]  = $result->fetch_assoc()) {}
	print"<br>/***************************************<br>";
	print_r($CompAdresData);
	print"<br>***************************************/<br>";
    }
}
....
$CompAdr = new CompAdres();
$CompAdr->ReadAdres($Template->DBConn, $CompLoc->getPersID());
var_dump($CompAdr->CompAdresData);


In de classe krijg ik een correct resultaat, echter bij de var_dump, krijg ik niets te zien.
Sluit de code tag voortaan even af met.. ?>[/code\] (Zonder de backslash!!!)
De while($CompAdresData[] = $result->fetch_assoc()) {} geeft alleen een lokale variabele binnen de methode. Je moet hier $this->CompAdresData gebruiken om de data in een property op te slaan.

Voeg daarnaast een methode toe, een "getter" die de eigenschap buiten de klasse toegankelijk maakt:


<?php

    public function getAddress()
    {
        return $this->CompAdresData;
    }

?>
Bedankt dat blijkt te werken.

Reageren