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:
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();
	}
ça le controlleur:
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);
			}
		}
	}
table 2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public function addAdress()
	{
		$row=$this->createRow();
		$row->save();
	}
table3:
cette table rempli le combo box a partir de la base donne table langue,
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();
	}
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
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));
    }