Bonjour !
Je maitrise pas mal le PHP, mais a la "old school".
Je me met donc doucement a la POO sious PHP5.
Je fais pour m'entrainer un site (en locale) avec une BDD :
Un pays a 1 visa et 1 ou plusieurs villesTABLE :: PAYS
id
Nom
Capitale
Drapeau
Carte
Monnaie
FK_Visa // (Cle etrangere)
Budget
Notes
TABLE :: VILLES
id
Nom
FK_Pays // (Cle etrangere)
notes
TABLE :: VISA
id
duree
prix
notes
Je souhaite gerer tout cela (lecture + ecriture) avec des classes.
Si j ene me trompe pas, une calss = 1 table (dans mon cas en tout cas)
Voici mon code (juste de la lecture pour l'instant) ::
CLASS :: Pays.class.php
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
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
92
93
94
95
96
97
98
99
100
101
102
103 <?php class Pays{ public $id = NULL; public $nom = NULL; public $capitale = NULL; public $drapeau = NULL; public $carte = NULL; public $monnaie = NULL; public $FK_visa = NULL; public $budget = NULL; public $notes = NULL; public function addPays(Pays $objet){ $objet->CheckFields(); $query = "INSERT INTO pays VALUES ('', '$objet->nom', '$objet->capitale', '$objet->drapeau', '$objet->carte', '$objet->monnaie', '$objet->FK_visa', '$objet->FK_liens', '$objet->budget', '$objet->notes')"; mysql_query($query); echo "<br />"; echo "Insertion OK"; } public function getPays($id) { $requete = "SELECT * FROM pays WHERE id = $id"; $reponse = mysql_query($requete); $donnees = mysql_fetch_array($reponse); $this->id = $donnees['id']; $this->nom = $donnees['nom']; $this->capitale = $donnees['capitale']; $this->drapeau = $donnees['drapeau']; $this->carte = $donnees['carte']; $this->monnaie = $donnees['monnaie']; $this->FK_visa = $donnees['FK_visa']; $this->budget = $donnees['budget']; $this->notes = $donnees['notes']; return $donnees; } } /****************/ /* VILLES */ /****************/ class Villes{ public $id = NULL; public $nom = NULL; public $FK_pays = NULL; public $notes = NULL; //Variables Externes public $pays = NULL; public $visa = NULL; public function getVille($id) { $requete = "SELECT * FROM villes WHERE id = $id"; $reponse = mysql_query($requete); $donnees = mysql_fetch_array($reponse); $this->id = $donnees['id']; $this->nom = $donnees['nom']; $this->FK_pays = $donnees['FK_pays']; $this->notes = $donnees['notes']; $Pays = new Pays(); $this->pays = $Pays->getPays($this->id); $Visa = new Visas(); $this->visa = $Visa->getVisa($this->FK_pays); } } /****************/ /* VISAS */ /****************/ class Visas{ public $id = NULL; public $duree = NULL; public $prix = NULL; public $notes = NULL; public function getVisa($id) { $requete = "SELECT * FROM visas WHERE id = $id"; $reponse = mysql_query($requete); $donnees = mysql_fetch_array($reponse); $this->id = $donnees['id']; $this->duree = $donnees['duree']; $this->prix = $donnees['prix']; $this->notes = $donnees['notes']; return $donnees; } }
et le script php de test :: test.php
Alors, ca semble correct ou je suis a 1000 km d'avoir compris ?
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 <?php // Inclusion de la source de la classe include 'Pays.class.php'; connect('localhost', 'root', '', 'tdm'); $Ville = new Villes(); $Ville->getVille(1); echo 'Ville : '. $Ville->nom; echo "<br />"; echo 'Pays : '. $Ville->pays['nom']; echo "<br />"; echo 'Visa : '. $Ville->visa['duree']; ?>
Partager