Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2011, 18h56   #1
Invité régulier
 
Inscription : octobre 2006
Messages : 23
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 23
Points : 7
Points : 7
Par défaut Problème undefined index + function of a non-object

Bonjour à tous,

J'ai créé 1 tableau contenant des objets d'une classe "Location", tableau créer à partir d'une base de données...
Cette classe Location contient un tableau que j'essaie de remplir avec des objets d'une autre Classe (Member) via sa fonction addMember...
Code :
1
2
3
4
5
6
7
8
9
10
 
Class Location{
public $hasMember = false;
	public $members   = array();
...
public function addMember($member){
		$this->hasMember =true;
		$this->members[]=$member;
	}
}
Mon problème arrive lorsque j'instancie mes objets Personne, plus précisément quand je fais appel à la fonction addMember de l'objet "Location" auquel je veux ajouter les objets membres lui "appartenant". (Locations étant mon tableau d'objets de type location)
Code :
1
2
3
4
while($row2=mysql_fetch_array($results2)){
		$Personne = New Personne($row2);
		$Locations[$row2['Localisation']]->addMember($Personne);
	}
J'obtiens les 2 message d'erreurs suivant :
Code :
1
2
3
 
Notice: Undefined index
Fatal error: Call to a member function addMember() on a non-object
Ce que je ne comprends pas, c'est que je n'ai aucun problème si je fais la même opération sans ma boucle while
Code :
1
2
3
$row2=mysql_fetch_array($results2);
		$Personne = New Personne($row2);
		$Locations[$row2['Localisation']]->addMember($Personne);
ou si j'ajoute mes objets a un seul objet location en spécifiant un index précis
Code :
1
2
3
4
$row2=mysql_fetch_array($results2);
		$Personne = New Personne($row2);
		$Locations[11]->addMember($Personne);
	}
Donc voila je suis un peu perdu, j'ai tourné ça dans tous les sens et je ne trouve pas de solution..

Si quelqu'un peu m'aider..
Merci d'avance,

wokba
wokba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 19h08   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
fait
Code :
var_dump($Locations, $row2['Localisation']);
pour voir
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 20h30   #3
Invité régulier
 
Inscription : octobre 2006
Messages : 23
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 23
Points : 7
Points : 7
Merci pour m'avoir fait regarder par la...
J'avais une valeur NULL pour la Localisation pour un de mes enregistrement

Merci !
wokba est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h49.


 
 
 
 
Partenaires

Hébergement Web