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 26/09/2008, 12h11   #1
Invité de passage
 
Inscription : septembre 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 11
Points : 1
Points : 1
Par défaut Probleme de liste ou de classe ?

Bonjour,

Je me permets de venir à vous pour un problème que je percute pas.
J'ai créer une classe pour les requêtes classiques et voici que je tombe sur un os.
La méthode suivante permet l'appel d'un tableau associatif et de faire une boucle afin de créer une liste (enfin je pense :-))
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
	public function ExecuteTab($query) 
	{
		if(parent::blacklist($query)) /* blacklist : méthode interdisant certains éléments */
			return false; 
		$this->_result == false;
		if($this->_link)
		{
			if($this->_result = mysql_query($query, $this->_link)) 
			{
				while($row = mysql_fetch_assoc($this->_result))
					return $row; 
			}
		}
		return false;
	}
et ensuite dans l'instanciation

Code :
1
2
3
4
5
6
7
$connexion = new Connexion();
$requete = $connexion->ExecuteTab("SELECT id, raison FROM user");
foreach($requete as $key => $value)
{
	$chaine = $key.' => '.$value.'<br/>';
	echo $chaine;
}
Le problème est que je parviens seulement à obtenir une seule ligne de résultats et non pas une liste de tous les résultats contenu dans la table user.
Quelqu'un saurait-il d'où ça vient ?
Merci d'avance
daddiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 12h27   #2
Membre confirmé
 
Avatar de leodi
 
Homme Paul Bizouard
Directeur technique
Inscription : février 2004
Messages : 173
Détails du profil
Informations personnelles :
Nom : Homme Paul Bizouard
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : Communication - Médias

Informations forums :
Inscription : février 2004
Messages : 173
Points : 202
Points : 202
Envoyer un message via MSN à leodi
Le probleme vient de la :

Code :
1
2
while($row = mysql_fetch_assoc($this->_result))
return $row;
En fait, lors du premier return, il sort de la fonction, donc il ne passe qu'une fois dans la boucle.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public function ExecuteTab($query)
{
  if(parent::blacklist($query)) /* blacklist : méthode interdisant certains éléments */
    return false;
  $this->_result == false;
  if($this->_link)
  {
    if($this->_result = mysql_query($query, $this->_link))
      {
        $return = array(); // On stoque le tout dans un tableau temporaire
        while($row = mysql_fetch_assoc($this->_result))
          $return[] = $row;
         return ($return); // Attention ca retourne un tableau de tableaux. Dans ton foreach utilise un print_r pour bien voir la sortie.
      }
  }
  return false;
}
Bonne chance,
Paul.
leodi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 13h34   #3
Invité de passage
 
Inscription : septembre 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 11
Points : 1
Points : 1
Merci mille fois
C'etait bien ca !

A bientot
Daddiz
daddiz 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 06h22.


 
 
 
 
Partenaires

Hébergement Web