Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Voila, dans une page de recherche, j'affiche une liste de personne (présente dans une table de ma base mysql) en rentrant au moins une lettre de leur nom.
Jusqu'ici tout fonctionne, mais je voudrais pour chaque résultat avoir un lien allant à une page de modification.
Le formulaire d'édition marche mais je ne sais pas comment mettre le lien en face de chaque résultats et j'aurais besoin de vos précieux conseils.
voici mon controller pour rechercher :
public function rechercherpersonneAction(){ mysql_connect('localhost','root',''); mysql_select_db('mabase'); // Récupère la variable $recherche = isset($_POST['recherche']) ? $_POST['recherche'] : 'root'; // la requete mysql $sql = mysql_query( "SELECT nom, prenom FROM info_personne WHERE nom LIKE %$recherche%") or die (mysql_error()); // affichage du résultat while(list($nom, $prenom)=mysql_fetch_array($sql)){ echo 'Resultat de la recherche : '.$nom.', '.$prenom.' <br />'; } }
mon controller pour éditer :
public function editerpersonneAction(){ $this->view->title = "Editer la date de fin de contrat d'une personne"; $form = new ajouterpersonne(); $form->submit->setLabel('Valider'); $this->view->form = $form; if ($this->_request->isPost()){ $formData = $this->_request->getPost(); if ($form->isValid($formData)) { $Personnes = new Personnes(); $id = (int)$form->getValue('id'); $row = $Personnes->fetchRow('id='.$id); $row->fincontrat = $form->getValue('fincontrat'); $row->save(); $this->_redirect('/'); } else { $form->populate($formData); } } else { //L'id de la personne est attendu dans $params['id'] $id = (int)$this->_request->getParam('id', 0); if ($id > 0) { $Personnes = new Personnes(); $Personne = $Personnes->fetchRow('id='.$id); $form->populate($Personne->toArray()); } } }
et ma vue pour rechercher :
<html> <form method="POST" action="rechercherpersonne"> Nom : <input type="text" name="recherche"> <input type="SUBMIT" value="Rechercher"> </form> </html>
Dernière modification par vince851 (31-05-2010 16:23:56)
Hors ligne
Pages: 1