Bonjour tout le monde svp aidez moi j'ai un probleme j'ai 3 table et je sais pas comment faire la liaison entre 3 tables,voila les tables que j'ai:
table1:
ça le controlleur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public function addAdresse_desc($adress) { $row=$this->createRow(); $row->id_adr=$this->lastInsertId(); //$id_adr = $this->lastInsertId(); $row->ville=$adress->getVille(); $row->region=$adress->getRegion(); $row->adresse=$adress->getAdresse; $row->save(); }
table 2:
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 function addAction() { $this->view->title = "Add"; $langue = new Langue_Langue(); $tablng=$langue->getAllLangues(); $form = new Adresse_FormulaireAdresse(true,null,$tablng); $this->view->form = $form; if ($this->_request->isPost()) { $formData = $this->_request->getPost(); if ($form->isValid($formData)) { $adresseserv=new Adresse_AdresseService(); $adresseserv->procesAdd($form); $adresseserv->getIdAdresse($form); } else { $form->populate($formData); } } }
table3:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public function addAdress() { $row=$this->createRow(); $row->save(); }
cette table rempli le combo box a partir de la base donne table langue,
formulaire:
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 function getAllLangues() { $langues=new Langue_Langue(); $langue=$langues->fetchAll(); $tablng=array(); foreach ($langue as $langues) { $tablng["$langues->id_lng"]=$langues->label; } return $tablng; } public function addLangue($langue) { $row=$this->createRow(); $row->label=$langue->getLabel; $row->desc=$langue->getDesc(); $row->save(); }
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 public function __construct($isUpdate, $options = null,$tablng) { parent::__construct($options); $this->setName('adresse description'); $id = new Zend_Form_Element_Hidden('id_lng'); $id_adr = new Zend_Form_Element_Hidden('id_adr'); $id_lng = new Zend_Form_Element_Select('id_lng'); $id_lng->setLabel('Langues : ') ->setMultiOptions($tablng) ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringToLower') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $ville = new Zend_Form_Element_Text('ville'); $ville->setLabel('Ville : ') ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringToLower') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $region = new Zend_Form_Element_Text('region'); $region->setLabel('Région: ') ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringToLower') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $adress = new Zend_Form_Element_Text('adresse'); $adress->setLabel('Adresse: ') ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringToLower') ->addFilter('StringTrim') ->addValidator('NotEmpty'); $submit = new Zend_Form_Element_Submit('submit'); $submit->setLabel('Envoyer'); $submit->setAttrib('id_lng', 'submitbutton'); $this->addElements(array($id,$id_adr,$id_lng,$ville,$region,$adress,$submit)); }
Partager