Une erreur que je n'arrive pas à corriger ...

PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 - 8 août 2005 à 16:03
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 - 9 août 2005 à 17:09
Bonjour à tous ,



Voila, je suis en train de développer un site en PHP/MySQL. Dans l'un
de mes scripts, j'interroge ma base de données, jusqu'ici tout va bien.
Ma base me retourne la valeur d'un champ (un champ de type integer). En
fonction de la valeur retournée, je réalise des choix avec un switch du
style:



// Tant qu'il y a des données a transmettre, je continu de scruter la table.


while($etesVous = $bd->objetSuivant($resultSqlEtesVous)) {


echo "\n";


echo "\n";


switch($etesVous->typeClient) {


case '1':


afficheEtesVous('1', $langue);


break;





case '2':


afficheEtesVous('2', $langue);


break;





case '3':


afficheEtesVous('3', $langue);


break;





case '4':


afficheEtesVous('4', $langue);


break;





case '5':


afficheEtesVous('5', $langue);


break;





case '6':


afficheEtesVous('6', $langue);


break;





case '7':


afficheEtesVous('7', $langue);


break;





case '8':


afficheEtesVous('8', $langue);


break;


}


echo "\n";

...
...

Dès que je veux tester ce script, une erreur s'affiche:
Notice: Undefined property: typeClient in c:\www\e2ma\include\validationClient.php on line 275

Je sais que c'est une erreur typique de débutant, mais quelqu'un peut-il m'aider

Merci d'avance.





PascalCmoa
[mailto:pascal.aknouche@free.fr email: PascalCmoa]

5 réponses

arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
8 août 2005 à 16:08
Je pense qu'il faut regarder dans le constructeur de la classe, la propriété typeClient ne doit pas être affectée automatiquement...
Au fait, plutôt que le switch .. case..., pourquoi ne fais-tu pas directement
afficheEtesVous($etesVous->typeClient, $langue); (enfin pour l'instant tu auras la même erreur !)
Arn;o)
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
8 août 2005 à 19:20
$etesVous n'est pas une classe !
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
9 août 2005 à 10:07
Je ne pensais pas que $etesVous était une classe, mais plutot un objet ! Maintenant, je suis peut-être à côté de la plaque ! Heureusement que tu es là pour faire avancer le débat ! Et Pacal, il a disparu ?
0
PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 5
9 août 2005 à 11:03
Non je n'ai pas disparu,



$etesVous recupère le champ dont j'ai besoin pour faire un choix a
travers le switch(). Dans ma base de données ce champ est du type
Integer. J'ai beau forcer la variable en integer par (int)($etesVous),
j'obtient toujours le même message d'erreur.



Je n'arrive pas a comprendre.

PascalCmoa
[mailto:pascal.aknouche@free.fr email: PascalCmoa]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
9 août 2005 à 17:09
Tu affectes le résultat de la méthode objetSuivant() à $etesVous.
Vu le nom qu'elle a, j'imagine que le résultat deobjetSuivant est ... un objet, et pas u entier !
Peux-tu nous donner la déclaration de la objetSuivant ?

Arn;o)
0
Rejoignez-nous