Bonjour,

je travaille actuellement sur un annuaire en ligne avec un formulaire.et comme c'est un annuaire tout les champs ne sont pas obligé d'etre rempli pour effectuer la recherche en ligne. et si un champ est non rempli je n'utilise pas l'attribut correspondant pour la recherche(dc dans la requete sql).

voici le code du 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
$this->setMethod('post');
		$this->setName('annuaire');
 
		$nom= new Zend_Form_Element_Text('nom');
		$nom->setLabel('Nom ou Prenom : ')
		->addFilter('StripTags')
		->addFilter('StringTrim');
 
		$ville= new Zend_Form_Element_Text('ville');
		$ville->setLabel('Ville : ')
		->addFilter('StripTags')
		->addFilter('StringTrim');
 
		$cp= new Zend_Form_Element_Text('cp');
		$cp->setLabel('Cp/Dpt : ')
		->addFilter('StripTags')
		->addFilter('StringTrim');
 
		$promo= new Zend_Form_Element_Text('promo');
		$promo->setLabel('Promo : ')
		->addFilter('StripTags')
		->addFilter('StringTrim');
 
		$societe= new Zend_Form_Element_Text('societe');
		$societe->setLabel('Société : ')
		->addFilter('StripTags')
		->addFilter('StringTrim');
 
		$info=new Model_Info();
 
		$secteurList = $info->getSecteur();
		$secteur = new Zend_Form_Element_Select('secteur');
		$secteur ->setLabel('Secteur dactivité : ')
		->addMultiOptions( $secteurList);
 
		$fonctionList = $info->getFonction();
		$fonction = new Zend_Form_Element_Select('fonction');
		$fonction ->setLabel('Fonction : ')
		->addMultiOptions( $fonctionList);
 
		$etablissementList = $info->getEtablissement();
		$etablissement = new Zend_Form_Element_Select('etablissement');
		$etablissement ->setLabel('Etablissement : ')
		->addMultiOptions( $etablissementList);
 
		$regionList = $info->getRegion();
		$region = new Zend_Form_Element_Select('region');
		$region ->setLabel('Region : ')
		->addMultiOptions( $regionList);
 
 
		$paysList = $info->getPays();
		$pays = new Zend_Form_Element_Select('pays');
		$pays ->setLabel('Pays : ')
		->addMultiOptions( $paysList);
 
 
 
		$envoyer = new Zend_Form_Element_Submit('envoyer');
		$this->addElements(array($nom,$ville,$cp,$promo,$societe,$secteur,$fonction,$etablissement,$region,$pays,$envoyer));
et le code de mon model :
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
class Model_Annuaire {
   protected $_nom;
   protected $_ville;
   protected $_cp;
   protected $_secteur;
   protected $_fonction;
   protected $_etablissment;
   protected $_region;
   protected $_pays;
 
    public function __construct($nom,$ville,$cp,$promo,$societe,$secteur,$fonction,$etablissement,$region,$pays) {
       /* if($login==null || $password==null) {
            echo'Ancien invalide';
            throw new Exception('Ancien invalide :  attribut(s) vide(s)');
        }*/
 
           $this->_nom=$nom;
		   $this->_ville=$ville;
		   $this->_cp=$cp;
		   $this->_secteur=$promo;
		   $this->_secteur=$societe;
		   $this->_secteur=$secteur;
		   $this->_fonction=$fonction;
		   $this->_etablissment=$etablissement;
		   $this->_region=$region;
		   $this->_pays=$pays;
    }
    public function _print(){
	echo $this->_pays;
	echo '<br>';
	echo $this->_secteur;
	if($this->_nom===null){
	echo 'il y a pas de nom';
	}
 
	}
}
dans la fonction print(), dans ce code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
if($this->_nom===null){
	echo 'il y a pas de nom';
	}
j'essai de tester le fait que l'attribut nom est vide mais ca ne fonctionne pas.

j'ai essaye les fonction isEmpty(), isnull() mais j'ai une erreur comme quoi $this._nom n'est pas un objet.

quelqu'un peut me dire comme savoir que ma vaiable est vide ou alors trouver un moyen de remplacer un champ vide par un null?

merci d'vance