Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 08/01/2008, 20h14   #1
Membre du Club
 
Inscription : février 2006
Messages : 85
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 85
Points : 42
Points : 42
Par défaut [SQL] PHP objet récupérer les résultats d'une requête

Hello everybody,

me revoilà pour une nouvelle question.
j'ai quelques petits soucis pour récupérer les résultats de ma requete sql....
Je vous explique.

j'ai ma classe avec son constructeur qui va aller rechercher dans ma base des infos.

De l'autre côté j'ai ma classe sql qui me permet d'établir une connexion à ma base et d'exécuter des requêtes.
Pour la connexion et les requetes j'utilise ces fonctions:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// fonction pour se connecter a la base
		function sql()
		{
			$connexion = mysql_connect($this->serveur,$this->user,$this->pass) or die($this->error("server",1));
			$database = mysql_select_db($this->base) or die ($this->error("database",2));
		}
 
//Methode pour recuperer les résultats d'une requete
		function request_assoc($demande)
		{
			$query = mysql_query($demande) or die($this->error("request",$demande));
			$fetch = mysql_fetch_assoc($query);
			return $fetch;
		}
dans ma classe principale je pensais utiliser ce code pour récupérer les résultats

Code :
1
2
3
4
5
6
$requete="SELECT * FROM ...............";
			$connexion = new sql();
			while($result = $connexion -> request_assoc($requete))
			{
				echo $result[menu_titre];
			}
malheureusement il boucle indéfiniment en m'affichant le même résultat...

Pourriez-vous éclairer ma lanterne?
merci!
kstou2001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 21h10   #2
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
J'ai envie de dire :

Code :
request_assoc($requete) ;
effectue une requette et la place dans un tableau associatif

donc

Code :
1
2
3
4
while($result = $connexion -> request_assoc($requete))
{
echo $result[menu_titre];
}
effecture une boucle sur le fait de creer une requete et la placer dans un tableau associatif ,

En gros tu cree la requette , tu affiche le premier resultata et tu recommence !

Par contre pour sortir la creation de la requette apartir de ton code va falloir se creuser la tronche ^^
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 23h34   #3
Membre du Club
 
Inscription : février 2006
Messages : 85
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 85
Points : 42
Points : 42
Qu'est ce qui sont forts nos modérateurs de developpez.net!

j'ai remodifié la fonction request_assoc comme ci dessous

Code :
1
2
3
4
5
6
7
8
9
10
//Methode pour recuperer les résultats d'une requete
		function request_assoc($demande)
		{
			$query = mysql_query($demande) or die($this->error("request",$demande));
			while($rows = mysql_fetch_assoc($query))
			{
				$fetch[] .= $rows[menu_titre];
			}
			return $fetch;
		}
et je récupère le résultat comme ça :

Code :
1
2
3
4
5
6
$connexion = new sql();
			$result = $connexion -> request_assoc($requete);
			for($i=0;$i<sizeof($result);$i++)
			{
				echo $result[$i];
			}
je pense que c'est bon! merci à toi!
kstou2001 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 14h31.


 
 
 
 
Partenaires

Hébergement Web