Pourquoi est ce que tu recuperes l'age dans une fonction separée qui ré-interroge la base de donnée plutot que de le faire en meme temps que les autres informations ?
Pourquoi est ce que tu recuperes l'age dans une fonction separée qui ré-interroge la base de donnée plutot que de le faire en meme temps que les autres informations ?
Suis désolé mais je vois pas trop ce que tu veux dire par là??Envoyé par sabotage
tu pourrais recuperer l'age en meme temps que nom, prenom et date de naissance.
L'age n'est pas dans ma base de données alors que le reste oui.tu pourrais recuperer l'age en meme temps que nom, prenom et date de naissance.
Par exemple le 'get_DateNaissance()' correspond à mon getter de ma classe Client alors que 'age()' correspond à une fonction de ma classe DAO_Client[classe d'accées aux données]. Vu que l'age ne s'enregistre pas dans la base, je suis bien obligé de faire une requête pour calculer l'age par rapport à la date de naissance du client??
J'espère avoir répondu exactement a ta question en espérant que tu pourra toi ou les autres m'aidez!!
Cordialement!!
L'age est dans ta base de données, ou, plus exactement il est déduit de la date de naissance grace a la requete
par exemple si tu fais la requete
tu as toutes les infos qu'il te faut en même temps
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 select nom, prenom, DATEDENAISSANCE, case when month(now()) - month(DATEDENAISSANCE) < 0 then year(now()) - year(DATEDENAISSANCE) -1 when month(now()) = month(DATEDENAISSANCE) then IF(DAYOFMONTH(now()) - DAYOFMONTH(DATEDENAISSANCE) < 0,year(now())-year(DATEDENAISSANCE)-1,year(now())-year(DATEDENAISSANCE)) else year(now())-year(DATEDENAISSANCE) end AS age FROM client
Certe avec la requête j'ai toute les données mais je vois pas comment faire pour inséré ceci dans mon tableau correspondant à ma vue??
Je suis un peu perdu la maintenant!!
Cordialement!!
est ce toi qui a créé la methode get_DateNaissance() de ta classe Client?
si oui alors tu crées de la meme manière une fonction get_Age();
et le tour est joué
ensuite tu appelles l'age du capitaine avec $client->get_Age();
La fonction get_DateNaissance je l'ai créé moi même,e lle es de la manière suivante :
Je vais essayé ce que tu me dit et on verra bien, je vous tient au courant!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public function get_DateNaissance() { return $this->dateNaissance; }
Cordialement!!
Donc voici la méthode get_age() :tu crées de la meme manière une fonction get_Age();
et le tour est joué
ensuite tu appelles l'age du capitaine avec $client->get_Age();
et voici le nouveau code de la vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public function get_Age() { return $this->age; }
Puis le code du controles :
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 <table> <tr> <th>Numéro du client</th> <th>Titre</th> <th>Nom</th> <th>Prenom</th> <th>Date de naissance</th> <th>Age</th> <th>Adresse</th> <th>Code postal</th> <th>Ville</th> </tr> <?php foreach ($MesClt as $clients) { ?> <!-- Affichage des données --> <tr> <td><div class="contenu"><?php echo $clients->get_IdClient(); ?></div></td> <td><div class="contenu"><?php echo $clients->get_titre(); ?></div></td> <td><div class="contenu"><?php echo $clients->get_nom(); ?></div></td> <td><div class="contenu"><?php echo $clients->get_prenom(); ?></div></td> <td><div class="contenu"><?php echo $clients->get_DateNaissance();?></div></td> <td><div class="contenu"><?php echo $clients->get_age()?></div></td> <td><div class="contenu"><?php echo $clients->get_adresse(); ?></div></td> <td><div class="contenu"><?php echo $clients->get_code_postal(); ?></div></td> <td><div class="contenu"><?php echo $clients->get_ville(); ?></div></td> </tr> <?php } ?> </table>
Dans le controles, on fais appel à la méthode retournerLesClients() de ma classe DAO_Client que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php // Instance de la classe 'Client' $DAOClt = new client_DAO(); // Chargement des clients $MesClt = $DAOClt->retournerLesclients(); // Afficher la page "client" require('Admin/Vue/V_client.php'); ?>
Dans laquel on appelle la méthode RetournerUnClient(...) que voici :
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 public function retournerLesclients() { $req="select * from client"; $res = mysql_query($req); $macol= new Collection(); while($row = mysql_fetch_array($res)) { $lecl=new client_DAO; $lecl->retournerUnclient($row["IDClient"]); $macol->add($lecl); } return $macol->getAll(); //retourne une collection de catégorie }
Donc avec ceci l'age ne s'affiche pas du tout. Comment faire??
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 public function retournerUnclient($id) { $req="SELECT * FROM client WHERE IDClient=".$id; $res=mysql_query($req); if (mysql_num_rows($res)==1) { $this->set_IdClient(mysql_result($res,0,"IDClient")); $this->set_titre(mysql_result($res,0,"TITRE")); $this->set_nom(mysql_result($res,0,"NOM")); $this->set_prenom(mysql_result($res,0,"PRENOM")); $this->set_DateNaissance(mysql_result($res,0,"DATEDENAISSANCE")); $this->set_mail(mysql_result($res,0,"mail")); $this->set_motPasse(mysql_result($res,0,"motPasse")); $this->set_adresse(mysql_result($res,0,"ADRESSE")); $this->set_code_postal(mysql_result($res,0,"CODE_POSTAL")); $this->set_ville(mysql_result($res,0,"VILLE")); return $this; } }
Cordialement!!
Voila, suis vraiment bloqué, je sais pas comment faire!!
Suite a ce que 'F_L_Stoi' m'a conseillé de faire(voir le code au sujet suivant). Je voulais donc savoir si la requête suivante, je dois m'en servir dans mon code?? Si oui, ou??
Si quelqu'un a une autre idée qui fonctionne parfaitement(en espérant que ca fonctionnera pour mon programme), je le prend avec plaisir!!??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 select nom, prenom, DATEDENAISSANCE, case when month(now()) - month(DATEDENAISSANCE) < 0 then year(now()) - year(DATEDENAISSANCE) -1 when month(now()) = month(DATEDENAISSANCE) then IF(DAYOFMONTH(now()) - DAYOFMONTH(DATEDENAISSANCE) < 0,year(now())-year(DATEDENAISSANCE)-1,year(now())-year(DATEDENAISSANCE)) else year(now())-year(DATEDENAISSANCE) end AS age FROM client
Merci d'avance!!
P.S. : j'espère de tout mon coeur que vous pourriez m'aider car je sais vraiment plus quoi faire!!
Cordialement!!
Partager