IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Db PHP Discussion :

insertion de données


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 72
    Par défaut insertion de données
    Bonjour,

    Lorsque je valide mon formulaire, les valeurs qui sont stocké dans la base de données sont ARRAY pour les VARCHAR et 0000-00-00 pour les dates. J'ai pourtant mis des controllers...

    Je ne sais pas quel code vous mettre mon fichier Modele, mon Formulaire, mon controller...

    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
     
    class Application_Model_DbTable_Membres extends Zend_Db_Table_Abstract {
        protected $_name = 'Membres';
     
        public function addMembres($nom, $prenom, $adresse,  $codepostal, $ville, $telephonefix, $telephoneport,$telephonefax,$email, $datenaissance,$intitule, $description, $type, $cotisation, $renouvellement, $actif, $pays) {
     
            $data = array(
                    'nom' => $nom,
                    'prenom' => $prenom,
                    'adresse'=>$adresse,
                    'codepostal'=>$codepostal,
                    'ville'=>$ville,
                    'telephonefix'=>$telephonefix,
                    'telephoneport'=>$telephonefax,
                    'telephonefax'=>$telephonefax,
                    'email'=> $email,
                    'datenaissance'=>$datenaissance,
                    'intitule'=>$intitule,
                    'description'=>$description,
                    'type'=>$type,
                    'cotisation'=>$cotisation,
                    'renouvellement'=>$renouvellement,
                    'actif'=>$actif,
     
                    'pays'=>$pays,
     
            );
            $this->insert($data);
        }
     
    ...
     
    }
    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
     
    class Application_Form_Membres extends Zend_Form {
     
        public function init() {
            $this->setName('Membres');
     
            $id = new Zend_Form_Element_Hidden('id');
            $id->addFilter('Int');
     
            $intitule = new Zend_Form_Element_Select('intitule');
            $intitule->setLabel('Intitule')
                    ->addMultiOptions(array('Mr'=>'Mr', 'Mme'=>'Mme'));
     
            $nom = new Zend_Form_Element_Text("nom", array('size'=>'20'));
            $nom->setLabel('Nom')
                    ->setRequired(true)
                    ->addFilter('StripTags')
                    ->addFilter('StringTrim')
                    ->addValidator('NotEmpty')
                    ->addValidator('StringLength', false, 0,50);
     
            $prenom = new Zend_Form_Element_Text('prenom', array('size'=>'20'));
            $prenom->setLabel('Prenom')
                    ->setRequired(true)
                    ->addFilter('StripTags')
                    ->addFilter('StringTrim')
                    ->addValidator('NotEmpty')
                    ->addValidator('StringLength', false, 0,50);
     
            $adresse = new Zend_Form_Element_Text('adresse', array('size'=>'25'));
            $adresse->setLabel('Adresse')
                    ->addFilter('StripTags')
                    ->addFilter('StringTrim');
    ...
    $submit = new Zend_Form_Element_Submit('submit');
            $submit->setAttrib('id', 'submitbutton');
     
            $this->addElements(array($id, $nom, $prenom, $adresse,  $codepostal, $ville, $telephonefix, $telephoneport,$telephonefax,$email, $datenaissance,$intitule, $description, $type, $cotisation, $renouvellement, $actif, $pays, $submit));
     
        }
     
    }
    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
     
    class MembresController extends Zend_Controller_Action {
     
        public function init() {
            /* Initialize action controller here */
        }
        public function indexAction() {
            $this->view->title = "Membres";
            $this->view->headTitle($this->view->title);
     
            $membres = new Application_Model_DbTable_Membres();
            $this->view->membres = $membres->fetchAll();
        }
     
        public function addAction() {
            $this->view->title = "Ajouter un nouveau Membre";
            $this->view->headTitle($this->view->title);
            $form = new Application_Form_Membres();
            $form->submit->setLabel('Add');
            $this->view->form = $form;
            if ($this->getRequest()->isPost()) {
                $formData = $this->getRequest()->getPost();
                if ($form->isValid($formData)) {
                    $nom  = $form->getValues('nom');
                    $prenom  = $form->getValues('prenom');
                    $adresse  = $form->getValues('adresse');
                    $codepostal  = $form->getValues('codepostal');
                    $ville  = $form->getValues('ville');
                    $telephonefix  = $form->getValues('telephonefix');
                    $tepehoneport  = $form->getValues('telephoneport');
                    $tepehonefax  = $form->getValues('telephonefax');
                    $email  = $form->getValues('email');
                    $datenaissance  = $form->getValues('datenaissance');
                    $intitule  = $form->getValues('intitule');
                    $description  = $form->getValues('description');
                    $type  = $form->getValues('type');
                    $cotisation  = $form->getValues('cotisation');
                    $renouvellement  = $form->getValues('renouvellement');
                    $actif  = $form->getValues('actif');
     
                    $pays  = $form->getValues('pays');
     
                    $membres = new Application_Model_DbTable_Membres();
                    $membres->addMembres($nom, $prenom, $adresse,  $codepostal, $ville, $telephonefix, $telephoneport,$telephonefax,$email, $datenaissance,$intitule, $description, $type, $cotisation, $renouvellement, $actif, $pays);
                    $this->_helper->redirector('index');
                } else {
                    $form->populate($formData);
                }
            }
        }
     
    ...
     
    }

    Voyez vous l'erreur ?

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    c'est soit :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $form->getValues();

    soit :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $form->getValue('nom');

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 72
    Par défaut
    Rahhhh quel nOOb je fais !!!

    Merci Madfrix !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/05/2004, 14h32
  2. problème d'insertion de données
    Par Falgan dans le forum ASP
    Réponses: 2
    Dernier message: 06/04/2004, 09h29
  3. [Interbase 7] Problème d'insertion de données
    Par Tuscelan dans le forum InterBase
    Réponses: 12
    Dernier message: 19/11/2003, 22h58
  4. insertion de données
    Par m-l dans le forum SQL
    Réponses: 9
    Dernier message: 25/07/2003, 13h59
  5. [Postgresql] pb lors d'insertion de données
    Par bob20000 dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/11/2002, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo