· 8 years ago · May 10, 2018, 09:55 PM
1<?php
2// in controllers/famille.php
3private function voir_arbre_individu_recursif($id_individu, $id_enfant=0)
4{
5 /* ... */
6 $id_mere=$this->individu_model->get_id_mere($id_individu);
7 echo '$id_mere'.$id_mere; // echo nothing ! (so $id_mere==false)
8 $id_mere=$this->individu_model->get_id_mere($id_individu);
9 echo '$id_mere'.$id_mere; // echo 7
10
11 /* ... */
12
13}
14
15// in models/individu_model.php
16
17/**
18 * Renvoie l'ID du père de l'individu demandé s'il existe, false sinon
19 *
20 * @access public
21 * @param $id_individu L'ID de l'individu
22 * @return l'ID du père de l'individu demandé s'il existe, false sinon
23 */
24public function get_id_mere($id_individu)
25{
26 $this->db->where('IDV_ID', $id_individu);
27 $this->db->where('IDV_ID_MERE IS NOT NULL'); // Si le champ n'est pas null ou non vide
28 $q = $this->db->get('T_INDIVIDU_IDV');
29 if($q->num_rows()>0) //Si il y a 1 résultat ou plus (normalement juste 1), alors la vérification est bonne
30 {
31 $row = $q->row();
32 return $row->IDV_ID_MERE;
33 }
34 else
35 {
36 return false;
37 }
38}
39
40/* My T_INDIVIDU_IDV table :
41
42-- ============================================================
43-- Table INDIVIDU : T_INDIVIDU_IDV
44-- ============================================================
45CREATE TABLE IF NOT EXISTS `T_INDIVIDU_IDV` (
46`IDV_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
47`FAM_ID_APPARTIENT` int(10) unsigned NOT NULL,
48`PAY_ID_PAYS_NAISSANCE` int(3) unsigned ,
49`PAY_ID_PAYS_DECES` int(3) unsigned ,
50`IDV_EST_CENTRE` tinyint(1) NOT NULL DEFAULT 0, -- Le seul individu par famille qui est au centre est celui qui est créé quand on crée la famille et il vaut 1. 0 sinon.
51`IDV_ID_PERE` int(10) unsigned , -- Ne pas utiliser de champ vide, obligatoirement utiliser NULL
52`IDV_ID_MERE` int(10) unsigned , -- Ne pas utiliser de champ vide, obligatoirement utiliser NULL
53`IDV_NOM` varchar(36) ,
54`IDV_PRENOM` varchar(32) ,
55`IDV_SEXE` enum('M','F') NOT NULL,
56`IDV_DATE_NAISSANCE` int(4) unsigned zerofill , -- Ne pas utiliser de 0000, obligatoirement utiliser NULL
57`IDV_DATE_DECES` int(4) unsigned zerofill , -- Ne pas utiliser de 0000, obligatoirement utiliser NULL
58`IDV_VILLE_NAISSANCE` varchar(36) ,
59`IDV_VILLE_DECES` varchar(36) ,
60PRIMARY KEY (`IDV_ID`)
61) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
62
63*/