Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Encore une question à 10 francs :
Je n'arrive pas à peupler automatiquement mon formulaire Zend_Form. Zend_Form doit attendre un array mais de quel type ????
L'ordre SELECT et le populate :
$form = new My_Form_UtilisateurModifier;
$form->setAction('/gestion/utilisateur/modifier');
$data = $db->fetchRow('SELECT * FROM T_USER WHERE USERNAME ="' . $user . '"' );
$form->populate($data);
$this->view->data = $form;
return;
Merci d'avance pour vos conseils et remarques.
Jean
Dernière modification par jean (27-01-2009 08:35:28)
Hors ligne
Hello,
Les index de l'array doivent correspondre au nom de tes éléments de formulaire.
A+
Hors ligne
Merci pour la piste. Le nom des colonnes de la table et celui des champs de Zend_Form correspondaient, mais la table a été créée avec ses colonnes en MAJUSCULES et le nom des éléments du formulaire Zend_Form en MINUSCULES ...
Il a suffit de modifier le SELECT en passant le nom des colonnes en minuscules...
Grrrr !!!
Hors ligne
Hello,
Tout dépend de ton adaptateur de BDD mais regarde l'option CASE_LOWER
A+
Hors ligne
CASE_LOWER semble être adapté uniquement à DB2.
Comme j'utilise MySQL et que j'envisage Oracle, je vais modifier la structure de la base de données en écrivant le nom des tables et celui des colonnes en minuscule.
Je me suis fait piéger, car j'ai beaucoup travaillé avec Oracle et le nom des colonnes n'était pas "case sensitive".
Comme d'habitude, la portage d'un SGBD vers un autre apportera quelques surprises !!!
A bientôt,
Jean
Hors ligne
Hello,
J'utilise principalement Oracle avec CASE_LOWER, ce qui a un impact sur les requêtes générées en interne par ZF (describeTable entre autres). Ensuite je surcharge Zend_Db_Statement_Oracle, pour appliquer un array_change_key_case. Ainsi dans mes applications je suis tout minuscule et je peux changer de SGBD assez facilement.
A+
Hors ligne
Pages: 1