probleem met gegevens in array plaatsen
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
/*
* getGegevens Geeft een geassocieerde array met de gegevens van het artikel(haalt alle gegevens
* van het artikel in 1x op)
* @access public
* @param geen
* @return array Geassocieerde array met alle gegevens van dit artikel
*/
public function getGegevens($p_aProperties=array()) {
$aResult = array();
if (is_array($p_aProperties) && (count($p_aProperties)> 0)) {
foreach($p_aProperties as $sProperty) {
try {
switch($sProperty) {
case 'art_id':
$aResult['id'] =$this->getId();
break;
case 'datum':
$aResult['datum']= $this->getDatum();
break;
case 'catnaam':
$aResult['categorie']= $this->getCat();
break;
case 'titel':
$aResult['titel']= $this->getTitel();
break;
default : throw new InvalidPropertyException($p_sProperty);
}
$aResult[$sProperty] = $this->$sProperty;
} catch (IllegalPropertyException $e) {
// negeer niet bestaande properties
}
}
} else {
// het id veld wordt altijd gevuld
$aResult['id'] = $this->getId();
$aResult['titel'] = $this->getTitel();
$aResult['bericht'] = $this->getBericht();
$aResult['bericht_kort'] = $this->getBerichtKort();
$aResult['datum'] = $this->getDatum();
$aResult['logo_id'] = $this->getLogoId();
$aResult['logo'] = $this->getLogo();
$aResult['cat_Id'] = $this->getCatId();
$aResult['categorie'] = $this->getCat();
$aResult['archief_id'] = $this->getArchiefId();
$aResult['archief'] = $this->getArchief();
$aResult['tonen']=$this->getTonen();
$aResult['pagina']=$this->getPagina();
}
return $aResult;
}
?>
en ik heb deze functie...oorspronkelijk moet print_r weggelaten worden..dat mogen duidelijk zijn...
<?php
/*
* getGegevensAlsArray geeft de data van de artikellijst terug in een array
* @access public
* @return array De gevulde meerdimensionale array met alle gegevens van de Berichten
*/
public function getBerichtenAlsArray() {
$aGegevens = array();
$aGegevens['lijst'] = array();
$aProperties = array('titel', 'datum', 'art_id', 'catnaam');
foreach ($this->m_aLijst as $oArtikel) {
print_r ($aGegevens['lijst']= $oArtikel->getGegevens($aProperties));
}
return $aGegevens;
}
?>
de print_r geeft dit:
Array ( [titel] => [datum] => [id] => 7 [art_id] => [categorie] => Bootvissen [catnaam] => ) Array ( [titel] => [datum] => [id] => 3 [art_id] => [categorie] => Vrije tijds vissen [catnaam] => ) Array ( [titel] => [datum] => [id] => 1 [art_id] => [categorie] => Gastvissers [catnaam] => ) Array ( [titel] => [datum] => [id] => 2 [art_id] => [categorie] => Gastvissers [catnaam] => ) Array ( [titel] => [datum] => [id] => 6 [art_id] => [categorie] => Vrije tijds vissen [catnaam] => ) Array ( [titel] => [datum] => [id] => 5 [art_id] => [categorie] => Gastvissers [catnaam] => ) Array ( [titel] => [datum] => [id] => 4 [art_id] => [categorie] => Vrije tijds vissen [catnaam] => ) Array ( [titel] => [datum] => [id] => 10 [art_id] => [categorie] => In de pan ermee [catnaam] => ) Array ( [titel] => [datum] => [id] => 9 [art_id] => [categorie] => Tactieken [catnaam] => ) Array ( [titel] => [datum] => [id] => 8 [art_id] => [categorie] => Visreizen Denemarken [catnaam] => ) Array ( [titel] => [datum] => [id] => 16 [art_id] => [categorie] => Even niet vissen [catnaam] => )
de Titel en Datum word niet ingevuld. vreemde is al zet ik
echo voor $aResult['titel']= $this->getTitel(); in de functie getGegevens geeft hij netjes de titel.
vraag 1.Iemand een idee wat ik fout doe?
vraag 2.Hoe moet de array die uit aGegevens uitlezen met het foreach commando, want het enige wat ik krijg is lijst array..
Wie zou mijn aub even kunnen helpen want ik ben alweer 4 uur aan het klooien hier en het moment is aangekomen dat mijn ideeen op zijn!
grrr......pffff...zucht... Anyone???
/*
* getGegevens Geeft een geassocieerde array met de gegevens van het artikel(haalt alle gegevens
* van het artikel in 1x op)
* @access public
* @param geen
* @return array Geassocieerde array met alle gegevens van dit artikel
*/
public function getGegevens($p_aProperties=array()) {
$aResult = array();
if (is_array($p_aProperties) && (count($p_aProperties)> 0)) {
foreach($p_aProperties as $sProperty) {
try {
switch($sProperty) {
case 'art_id':
$aResult['id'] =$this->getId();
break;
case 'datum':
$aResult['datum']= $this->getDatum();
break;
case 'catnaam':
$aResult['categorie']= $this->getCat();
break;
case 'titel':
$aResult['titel']= $this->getTitel();
break;
default : throw new InvalidPropertyException($p_sProperty);
}
$aResult[$sProperty] = $this->$sProperty;
} catch (IllegalPropertyException $e) {
// negeer niet bestaande properties
}
}
} else {
// het id veld wordt altijd gevuld
$aResult['id'] = $this->getId();
$aResult['titel'] = $this->getTitel();
$aResult['bericht'] = $this->getBericht();
$aResult['bericht_kort'] = $this->getBerichtKort();
$aResult['datum'] = $this->getDatum();
$aResult['logo_id'] = $this->getLogoId();
$aResult['logo'] = $this->getLogo();
$aResult['cat_Id'] = $this->getCatId();
$aResult['categorie'] = $this->getCat();
$aResult['archief_id'] = $this->getArchiefId();
$aResult['archief'] = $this->getArchief();
$aResult['tonen']=$this->getTonen();
$aResult['pagina']=$this->getPagina();
}
return $aResult;
}
?>
en ik heb deze functie...oorspronkelijk moet print_r weggelaten worden..dat mogen duidelijk zijn...
<?php
/*
* getGegevensAlsArray geeft de data van de artikellijst terug in een array
* @access public
* @return array De gevulde meerdimensionale array met alle gegevens van de Berichten
*/
public function getBerichtenAlsArray() {
$aGegevens = array();
$aGegevens['lijst'] = array();
$aProperties = array('titel', 'datum', 'art_id', 'catnaam');
foreach ($this->m_aLijst as $oArtikel) {
print_r ($aGegevens['lijst']= $oArtikel->getGegevens($aProperties));
}
return $aGegevens;
}
?>
de print_r geeft dit:
Array ( [titel] => [datum] => [id] => 7 [art_id] => [categorie] => Bootvissen [catnaam] => ) Array ( [titel] => [datum] => [id] => 3 [art_id] => [categorie] => Vrije tijds vissen [catnaam] => ) Array ( [titel] => [datum] => [id] => 1 [art_id] => [categorie] => Gastvissers [catnaam] => ) Array ( [titel] => [datum] => [id] => 2 [art_id] => [categorie] => Gastvissers [catnaam] => ) Array ( [titel] => [datum] => [id] => 6 [art_id] => [categorie] => Vrije tijds vissen [catnaam] => ) Array ( [titel] => [datum] => [id] => 5 [art_id] => [categorie] => Gastvissers [catnaam] => ) Array ( [titel] => [datum] => [id] => 4 [art_id] => [categorie] => Vrije tijds vissen [catnaam] => ) Array ( [titel] => [datum] => [id] => 10 [art_id] => [categorie] => In de pan ermee [catnaam] => ) Array ( [titel] => [datum] => [id] => 9 [art_id] => [categorie] => Tactieken [catnaam] => ) Array ( [titel] => [datum] => [id] => 8 [art_id] => [categorie] => Visreizen Denemarken [catnaam] => ) Array ( [titel] => [datum] => [id] => 16 [art_id] => [categorie] => Even niet vissen [catnaam] => )
de Titel en Datum word niet ingevuld. vreemde is al zet ik
echo voor $aResult['titel']= $this->getTitel(); in de functie getGegevens geeft hij netjes de titel.
vraag 1.Iemand een idee wat ik fout doe?
vraag 2.Hoe moet de array die uit aGegevens uitlezen met het foreach commando, want het enige wat ik krijg is lijst array..
Wie zou mijn aub even kunnen helpen want ik ben alweer 4 uur aan het klooien hier en het moment is aangekomen dat mijn ideeen op zijn!
grrr......pffff...zucht... Anyone???
Je break't de default niet in je switch.
Toch bedankt..
opmerking bij de default hoort geen break te staan..vanwege throw new
Waarvoor is die regel 29?
haakjes die je opend moet je ook weer sluiten he :)
Dit is regel 29:
$aResult[$sProperty] = $this->$sProperty;
ja klopt die regel moet eruit...txs alot
paul schreef op 21.05.2009 15:26:
ja klopt die regel moet eruit...txs alot
Dat was de fout neem ik aan?