Classes en property array
Manu Laureys
06/03/2015 12:54:26Ik 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.
Mijn probleem is dat ik die gegevens niet kan aanspreken. Kan er mij iemand zeggen hoe ik aaan die gegevens kom.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?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);
[/Code]
In de classe krijg ik een correct resultaat, echter bij de var_dump, krijg ik niets te zien.
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);
[/Code]
In de classe krijg ik een correct resultaat, echter bij de var_dump, krijg ik niets te zien.
Gewijzigd op 06/03/2015 13:01:18 door Manu Laureys
PHP hulp
22/12/2024 09:39:13Mathieu Posthumus
06/03/2015 12:56:04Sluit de code tag voortaan even af met.. ?>[/code\] (Zonder de backslash!!!)
Gewijzigd op 06/03/2015 13:01:29 door Mathieu Posthumus
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:
Voeg daarnaast een methode toe, een "getter" die de eigenschap buiten de klasse toegankelijk maakt:
Gewijzigd op 06/03/2015 13:01:53 door Ward van der Put