Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
slam4:php:codeigniter:orm [2012/12/09 16:14] – [Gestion des utilisateurs] jcheron | slam4:php:codeigniter:orm [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
---|
<html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:validation" class="wikilink1" title="Validation des formulaires"><< Validation des formulaires</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:doctrine" class="wikilink1" title="Doctrine">ORM Doctrine >></a></div></html> | <html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:validation" class="wikilink1" title="Validation des formulaires"><< Validation des formulaires</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:doctrine" class="wikilink1" title="Doctrine">ORM Doctrine >></a></div></html> |
| |
IgnitedRecord est un ORM qui peut être associé à CodeIgniter.\\ | - [[slam4:php:codeigniter|Introduction à CodeIgniter]] |
| - [[slam4:php:codeigniter:helpers|Helpers]] |
| - [[slam4:php:codeigniter:libraries|Bibliothèques]] |
| - [[slam4:php:codeigniter:session|Sessions CodeIgniter]] |
| - [[slam4:php:codeigniter:validation|Validation des formulaires]] |
| - ORM IgnitedRecord |
| - [[slam4:php:codeigniter:doctrine|Doctrine]] |
| - [[slam4:php:codeigniter:javascript|Javascript et codeIgniter]] |
| |
| IgnitedRecord est un ORM qui peut être associé à CodeIgniter.\\ Mais le projet semble abandonné... ->Utilisation déconsillée\\ |
Lien de téléchargement : [[https://www.assembla.com/spaces/IgnitedRecord/documents/aC-m-2SoGr3y4Oab7jnrAJ/download/aC-m-2SoGr3y4Oab7jnrAJ|IgnitedRecord download]] | Lien de téléchargement : [[https://www.assembla.com/spaces/IgnitedRecord/documents/aC-m-2SoGr3y4Oab7jnrAJ/download/aC-m-2SoGr3y4Oab7jnrAJ|IgnitedRecord download]] |
| |
</code> | </code> |
| |
| ==== Chargement des models ==== |
| Le chargement peut être automatique, par le biais de application/config/autoload.php |
| |
| <code php> |
| $autoload['model'] = array('categorie','utilisateur'); |
| </code> |
| |
| ou bien se faire dans un contrôleur : |
| |
| <code php> |
| $this->load->model('utilisateur'); |
| </code> |
==== Gestion des utilisateurs ==== | ==== Gestion des utilisateurs ==== |
=== Contrôleur utilisateurs === | === Contrôleur utilisateurs === |
Créer la vue v_utilisateurs pour afficher la liste des utilisateurs : | Créer la vue v_utilisateurs pour afficher la liste des utilisateurs : |
La variable $utilisateurs est récupérée par la méthode all du contrôleur utilisateurs | La variable $utilisateurs est récupérée par la méthode all du contrôleur utilisateurs |
<code php |h application/controllers/utilisateurs.php> | <code php |h application/views/v_utilisateurs.php> |
<?php | <?php |
foreach ($utilisateurs as $user){ | foreach ($utilisateurs as $user){ |
Tester en allant à l'adresse http://localhost/testPhp/utilisateurs/all/ | Tester en allant à l'adresse http://localhost/testPhp/utilisateurs/all/ |
| |
| {{:slam4:php:codeigniter:users-list.png?|}} |
| |
| |
| ==== Ajout d'utilisateur ==== |
| === Modification du contrôleur === |
| Modifier le contrôleur utilisateurs : |
| * La méthode **add** permet d'afficher un formulaire **v_utilisateur_add** permettant d'ajouter un utilisateur en saisissant son nom. |
| * La méthode **submit_add** effectue la validation du formulaire en cas de succès de la validation puis appelle la vue **v_success_add** |
| |
| |
| <code php |h application/controllers/utilisateurs.php> |
| <?php |
| class Utilisateurs extends CI_Controller{ |
| public function add(){ |
| $this->load->helper(array('form', 'url')); |
| |
| $this->load->library('form_validation'); |
| |
| $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[12]|xss_clean'); |
| if ($this->form_validation->run() == FALSE) |
| { |
| $this->load->view('v_utilisateur_add'); |
| } |
| else |
| { |
| $this->submit_add($_POST["username"]); |
| } |
| } |
| |
| public function submit_add($name){ |
| $new_user = $this->utilisateur->new_record(); |
| $new_user->nom=$name; |
| $new_user->save(); |
| $this->load->view('v_success_add',array('user'=>$new_user)); |
| } |
| |
| public function all(){ |
| $users=$this->utilisateur->find_all(); |
| foreach ($users as $user){ |
| $user->cat=$user->related('categorie')->get(); |
| } |
| $this->load->view('v_utilisateurs',array('utilisateurs'=>$users)); |
| } |
| } |
| ?> |
| </code> |
| |
| === Ajout des vues === |
| La vue **v_utilisateur_add** sera appelée par l'intermédiaire du contrôleur **utilisateurs/add** |
| <code php |h application/views/v_utilisateur_add.php> |
| <html> |
| <head> |
| <title>Ajout utilisateur</title> |
| </head> |
| <body> |
| |
| <?php echo validation_errors(); ?> |
| |
| <?php echo form_open('utilisateurs/add/'); ?> |
| |
| <h5>Nom d'utilisateur</h5> |
| <input type="text" name="username" value="<?php echo set_value('username'); ?>" size="50" /> |
| |
| <div><input type="submit" value="Ajouter utilisateur" /></div> |
| |
| </form> |
| |
| </body> |
| </html> |
| </code> |
| |
| La vue **v_success_add** sera appelée après soumission du formulaire par le contrôleur **utilisateurs/submit_add** |
| <code php |h application/views/v_success_add.php> |
| <?php |
| echo($user->nom." ajouté"); |
| ?> |
| </code> |
| |
| Tester en allant à l'adresse : http://localhost/testPhp/utilisateurs/add/ |
| |
| |
| {{:slam4:php:codeigniter:user-add.png?|}} |
| |
| Vérifier l'insertion dans la base de données du nouvel utilisateur. |
| |
| |
| <html><div class="todo"> |
| Sur le même principe que pour les utilisateurs, en respectant MVC : |
| <ul> |
| <li>Créer un contrôleur categories</li> |
| <li>Afficher la liste des catégories, et les utilisateurs correspondants</li> |
| <li>Créer la fonctionnalité d'ajout de catégorie</li> |
| <li>Créer la fonctionnalité de modification d'une catégorie existante</li> |
| <li>Créer la fonctionnalité de suppression d'une catégorie</li> |
| </ul> |
| </div></html> |
| |
| <html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:validation" class="wikilink1" title="Validation des formulaires"><< Validation des formulaires</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:doctrine" class="wikilink1" title="Doctrine">ORM Doctrine >></a></div></html> |