Bonjour a tous j'ai un souci avec la portion de code suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php class languages_module { var $languages; function languages_module () { $this->languages = array(); } function call01 () { $sql = "SELECT id, code FROM languages"; $sgbd->query($query, $sql); while( $sgbd->fetch_row( $query, $row ) ) { array_push($this->languages, array('id'=>$row['id'],'code'=>$row['code']) ); } } function call02 () { } function getLanguages () { return $this->languages; } } ?>
voici ce qu'il se passe:
je crée une classe $classe = new languages_module();
ensuite j'apelle $classe->call01(); pour lire tous les languages dispos dans la base, les langues sont stockées dans un tableau var$languages
puis plus tard j'utilise $class->getLanguages(); pour qu'il me donne les langues insérées.
hors quelque chose de bizarre arrive:
dans le constructeur mon tableau est déclaré vide "$this->lanaguages=array()..."
dans call01() j'ai vérifié les langues sont bien insérées, en faisant un print_r j'ai pu voir que tout etait ok
mais en apellant getLanguages() il ne me retourne rien, seulement un tableau vide ( comme dans le constructeur )
j'ai testé en initialisant un tableau non vide dans le constructeur et la getLanguages() me retourne ce que j'ai déclaré comme ci call01() n'avait rien modifé !!!
si vous avez des idées pour résoudre cela merci
Partager