bonjour je travaille sur un projet qui utilise mvc ORM Data Mapper et template phpBB2.
je veux faire un module de gestion d'utilisateurs en utilisant cette dernier technologie: je proc�de de la mani�re suivante:
je cr�er d abord ma page accueil qui contient trois zone ( menu horizontal(qui contient des liens ), menu vertical lui aussi et le centre. mais j utilise ajax pour afficher les page des liens sur le contenu centre, tous �a ne me cause pas de probl�me.
apr�s je cr�e script qui permet d afficher les utilisateurs en utilisant les tableaux qui contient le nom, pr�nom, login exct... plus des liens modifier et supprimer, maintenant mon probl�me se pose au nivaux de mes liens modifier car je veux si je click sur le liens modifier il m ouvre une nouvelle page edit form sur le contenu centre en utilisant ajax , j arrive a appeler le form edit en utilisant ajax mais j arrive pas � transmette les param�tre de l utilisateur qu on veux �diter
voici mes codes:
mon controleurs :
qui contient une m�thode qui permet de selectionner l'utilisateurs qu on doit editer
Code php : 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 <?php class updateuserformMultiActionController { private $_registry; public function __construct(Registry $registry){ $this->_registry = $registry; } public function updateuserform_action() { require_once(FRAMEWORK_PATH.'models/usersmodel.php'); $adapter = $this->_registry->getSetting('adpt'); $usermodel = new UsersModel($adapter); //Create or sync your table structure with the defined fields in the mapper $usermodel->migrate(); // $id_user= $_GET['id_users']; $user = $usermodel->query(" SELECT * FROM users where id_users='".$_GET['id_users']."' "); $template = $this->_registry->getObject('tpl'); $template->set_file('user','updateuser.html'); foreach($user as $key => $value) { // echo $value->Identifiant; if( is_array($value) || is_object($value)) { $template->set_var('Id_users',utf8_encode($value->Id_users)); $template->set_var('Identifiant',utf8_encode($value->Identifiant)); $template->set_var('Password', utf8_encode($value->Password)); } else { echo '<pre>'; print_r ($value); echo '</pre>'; } $template->pparse('result_user', 'user'); } } } ?>
un autre controleur qui va mettre � jour mon formulaire
Code php : 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 <?php class updateuserMultiActionController { private $_registry; public function __construct(Registry $registry){ $this->_registry = $registry; } public function updateuser_action() { require_once(FRAMEWORK_PATH.'models/usersmodel.php'); $adapter = $this->_registry->getSetting('adpt'); $usermodel = new UsersModel($adapter); //Create or sync your table structure with the defined fields in the mapper $usermodel->migrate(); $template = $this->_registry->getObject('tpl'); $template->set_file('user','gestionUtilisateurs.html'); $user=$usermodel->query(" update users SET Identifiant='".$_POST['Identifiant']."' ,Password='".$_POST['Password']." where id_users='".$_GET['id_users']."' "); $template->pparse('result_user', 'user'); } } ?>
Vue:
ma page consulteruser.html qui permet d afficher les utilisateurs avec un lien modifi� qui va appeler la page updateuser.html via la fonction ajax.
Code html : 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 <meta charset="utf-8" /> <link rel="stylesheet" type="text/css" href="views/css/css.css" /> <div align="center" > <table > <caption>GESTION DES UTILISATEURS</caption> <thead> <tr> <th>Nom</th> <th>Password</th> <th>Supprimer</th> <th>Modifier</th> </tr> </thead> <tbody> <tr> <td id="use" >{Id_users}</td> <td>{Identifiant}</td> <td>{Password}</td> <?php ?> <td><a href="index.php?module=deleteuser&action=deleteuser" onclick="javascript:if (!confirm('Voulez vous supprimer l'utilisateur Confirmez ?')) return false;">Supprimer</a></td> <td> <a href="#" onclick="load_updateuser('views/updateuser.html'); ">Modifier</a></td> </tr> <tbody> </table> </div>
ma fonction ajax qui va appeler la page upadatesuer.html
et enfin ma page updateuser.html
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 function load_updateuser(url) { jQuery.ajax({ url:url, type:"GET", dataType:"html", success: function(data, textStatus, rawRequest) { jQuery("#centre").html(data); }, error: function(rawRequest, textStatus, errorThrow) { //jQuery(element).html("Impossible de charger les d�tails de la page..."); jQuery("#centre").html("Erreur de chargement..."); } }); }
qui va mettre a jour l'utilisateurs
Code html : 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 <link rel="stylesheet" type="text/css" href="css/css.css" /> <div align="center" > <form action="index.php?module=updateuser&action=updateuser" id="formuser" method="post" enctype="multipart/form-data"> <fieldset id="addusers"> <ul> <li> <p class="adduser" align="center"> Update User</p> </li> <li> <label> Id users :</label> <input type="text" name="Id_users" value={Id_users} /> </li> <li> <label> Login :</label> <input type="text" name="Identifiant" value={Identifiant} /> </li> <li> <label> Password :</label> <input type="password" name="Password" value={Password} /> </li> <li> <input type="submit" name="update" value="update"/> </li> </ul> </fieldset> </form> </div>
mon model
Code php : 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 <?php /** * {0} * * @author DIENG KHALIDOU * @version */ // User class UsersModel extends phpDataMapper_Base { // Specify the data source (table for SQL adapters) protected $_datasource = "users"; // Define your fields as public class properties public $Id_users = array('type' => 'int', 'primary' => true); public $Identifiant = array('type' => 'string', 'required' => false); public $Password = array('type' => 'string', 'required' => false); } ?>
Ce que je veux est que si je clique sur le lien modifier cela appelle la page updateuser.html en lui transmettant les donn�es de l'utilisateurs en cours en utilisant ajax.
Merci de votre aide.
Partager