Bonjour à tous
Je sais le titre n'est pas top alors je vous explique pour que vous compreniez plus :
Comme certains de vous doivent le savoir je débute avec Zend et pour m'aider je me sers parfois de bout de code déjà écrit et donc là j'ai un code qui affiche les données d'un utilisateur (en fonction de son id) et si cet utilisateur est aussi un prestataire alors on affiche ses données prestataire. Voici le code :
- utilisateurController.php
- VIEW : voir.phtml(c'est pas le plus important mais je le met comme même)
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 <?php public function voirAction() { $id = $this->_getParam('id', null); //$this->seeifexist($id); if (isset($id)) { // On extrait l'utilisateur correspondant à l'id $usersTable = new Application_Model_DbTable_Utilisateurs(); $user = $usersTable->fetchAll(array('id = '.$id))->current(); if(count($user)>0) { $this->view->title = "simple utilisateur"; // On extrait la ville correspondante à l'id_ville de l'utilisateur $villeTable = new Application_Model_DbTable_Villes(); $ville = $villeTable->fetchAll(array('id = '.$user['ville_id']))->current(); //On regarde si c'est également un prestataire if ($user['ut_role']=='prestataire') { $this->view->title = "utilisateur et prestataire"; $prestataire = new Application_Model_DbTable_Prestataires(); $rowPrestataire = $prestataire->fetchAll($prestataire->select()->where('ut_id = ?', $user['id'])); $this->view->prestataire = $rowPrestataire->current()->toArray(); } $this->view->ville= $ville->toArray(); $this->view->utilisateur = $user->toArray(); } else { $this->_redirect(); //echo 'Cette utilisateur (id) n\'existe pas'; } } else { $this->_redirect(); //echo 'Cette utilisateur (id) n\'existe pas'; } }
Voilà et donc la mon url est du genre localhost/utilisateur/voir/id/5 et moi j'aimerai sur le même principe que cette fonction afficher toutes les données des utilisateurs et si l'utilisateur et prestataire aussi lui afficher ses données prestataire.
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
104
105
106
107
108
109 <?php <?php $utilisateur = $this->utilisateur; echo $this->message; ?> <?php echo '<p style="color:red;">'.$this->title.'</p><br/>'; ?> <IMG SRC="<?php echo $this->chemin_image;?>" ALT="" TITLE="Texte à afficher" ALIGN=right> <div id="col-r"> <table> <tr> <th>Nom :</th> <td><?php echo $utilisateur['ut_nom']; ?></td> </tr> <tr> <th>Prenom :</th> <td><?php echo $utilisateur['ut_prenom']; ?></td> </tr> <tr> <th>Adresse :</th> <td><?php echo $utilisateur['ut_adresse']; ?></td> </tr> <tr> <th>Ville | Code postal :</th> <td><?php echo $this->ville['nom']; echo ' | '; echo $this->ville['cp'];?></td> </tr> <tr> <th>Téléphone fixe :</th> <td><?php echo $utilisateur['ut_telephone_fixe']; ?></td> </tr> <tr> <th>Téléphone mobile :</th> <td><?php echo $utilisateur['ut_telephone_mobile']; ?></td> </tr> <tr> <th>Adresse mail :</th> <td><?php echo $utilisateur['ut_adresse_mail']; ?></td> </tr> <tr> <th>Site internet :</th> <td><?php echo $utilisateur['ut_site_internet']; ?></td> </tr> <tr> <th>Blog :</th> <td><?php echo $utilisateur['ut_blog']; ?></td> </tr> <tr> <th>Date de naissance :</th> <td><?php echo $utilisateur['ut_date_naissance']; ?></td> </tr> <tr> <th>Sacteur d'activité :</th> <td><?php echo $utilisateur['ut_secteur_activite']; ?></td> </tr> <tr> <th>Catégorie Socio-professionnelle :</th> <td><?php echo $utilisateur['ut_cat_sociopro']; ?></td> </tr> <tr> <th>Situation familliale :</th> <td><?php echo $utilisateur['ut_situation_famille']; ?></td> </tr> <tr> <th>Centre d'interêt :</th> <td><?php echo $utilisateur['ut_centre_interet']; ?></td> </tr> <tr> <th>Utilisateur professionnel :</th> <td><?php if($utilisateur['ut_est_professionnel']==1){echo 'Oui';}else{echo 'Non';} ?></td> </tr> <tr> <th>Sexe :</th> <td><?php if($utilisateur['ut_sexe']=='F'){echo 'Femme';}else{echo 'Homme';} ?></td> </tr> <?php if (empty($this->prestataire)){echo '</table></div>'; } else { ?> <tr> <th>Raison sociale :</th> <td><?php echo $this->prestataire['pre_raison_sociale']; ?></td> </tr> <tr> <th>Qualite :</th> <td><?php echo $this->prestataire['pre_qualite']; ?></td> </tr> <tr> <th>Prestataire agrée :</th> <td><?php if ($this->prestataire['pre_est_agree']==1){echo 'Oui';}else{echo 'Non';} ?></td> </tr> <tr> <th>Numero de fax :</th> <td><?php echo $this->prestataire['pre_numero_fax']; ?></td> </tr> <tr> <th>Formation :</th> <td><?php echo $this->prestataire['pre_formation']; ?></td> </tr> <tr> <th>Numero de siret :</th> <td><?php echo $this->prestataire['pre_num_siret']; ?></td> </tr> </table> </div> <?php } ?>
Faire la même fonction pour UN utilisateur mais là pour TOUS mes utilisateurs.
EN php classique cela ne me poserais pas réellement de problème mais sous Zend je suis pas encore familier à toutes ces écritures orienté objet, alors je fais appelle à vous =)
Merci
@+
Partager