Requête trop longue

yoyotheboss7 -  
 yoyotheboss7 -
Bonjour,
Voici mon script :
$reponse = mysql_query("SELECT * FROM membres where up=\"$id\""); 
while ($donnees = mysql_fetch_array($reponse) ) { 
$ida=$donnees['id'];
$tot=$tot+2.7;

	$reponseb = mysql_query("SELECT * FROM membres where up=\"$ida\""); 
	while ($donneesb = mysql_fetch_array($reponseb) ) { 
	$idb=$donneesb['id'];
	$tot=$tot+1.8;
	
		$reponsec = mysql_query("SELECT * FROM membres where up=\"$idb\""); 
		while ($donneesc = mysql_fetch_array($reponsec) ) { 
		$idc=$donneesc['id'];
		$tot=$tot+0.9;
		
			$reponsed = mysql_query("SELECT * FROM membres where up=\"$idc\""); 
			while ($donneesd = mysql_fetch_array($reponsed) ) { 
			$idd=$donneesd['id'];
			$tot=$tot+0.9;
			
				$reponsee = mysql_query("SELECT * FROM membres where up=\"$idd\""); 
				while ($donneese = mysql_fetch_array($reponsee) ) { 
				$ide=$donneese['id'];
				$tot=$tot+0.9;
				
				}
			}
		}
	}

}

Comme vous pouvez vous en douter, pour une grande quantité d'information, le script est trop long. En effet, je peux avoir 100000 id
Cependant, je ne vois pas comment optimiser...
Merci pour votre aide !

7 réponses

rescue Messages postés 1047 Statut Contributeur 136
 
Bonjour,

Tu veux afficher quoi avec cette requette ?

@+
0
yoyotheboss7
 
Bonjour,
Je veux juste afficher la variable $tot.
++
0
rescue Messages postés 1047 Statut Contributeur 136
 
Bonsoir,

Oui je l'avais compris.

Ce que je veux savoir : c'est quoi l'objectif final de cette requette ?

@+
0
yoyotheboss7
 
En fait, j'ai des comptes avec un ID. Chaque compte est classé sur une hiérarchie ce qui fait qu'ils ont tous un compte dessus eux, sauf celui au dessus de tout le monde.
Chaque enregistrement de ma base a 2 champ, "up" (pour identifier la personne en dessus) et "id".
Je désire trouver toutes les personnes en dessous de chaque compte sur 5 niveaux et leurs donner des points en fonction de leur niveau.
J'espère avoir été clair...
0

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

Posez votre question
rescue Messages postés 1047 Statut Contributeur 136
 
Bonjour,

Je pense qu'il faudrait que tu revois la conception des traitements de ces données dans ta base.

Cela est un peu complexe ce que tu veux mettre en place, revois tous ça, je pense qu'il y a plus simple.

Désolé trop compliqué pour moi.

@+
0
sebdechezmoi Messages postés 22 Statut Membre 5
 
Salut, je ne comprend pas tout.Chaque entree dans ta base de donnee a un ID unique et un seul au dessus de lui (up),donc pour un ID il ne peut y avoir d'un seul IDa, un seul IDb,. . . non?
0
yoyotheboss7
 
Salut sebdechezmoi
Chaque ID a uniquement un ID dessus lui (variable "up"). Mais chaque ID peut avoir plusieurs ID dessous lui, sur plusieurs niveaux.
ID
IDa, IDb, IDc
IDaa, IDab, IDac, IDba, IDca, ...
0