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 :
TABLE :: 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
Un pays a 1 visa et 1 ou plusieurs villes

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

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'];
 
?>
Alors, ca semble correct ou je suis a 1000 km d'avoir compris ?