begin process at 2012 02 13 01:45:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

boucle dans boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

boucle dans boucle

jeudi 18 novembre 2004 à 21:44:12 | boucle dans boucle

Kevergeek

voilà en fait je voudrais faire un systeme de dossier pour afficher des grades des joueurs sur un jeu que chui en train de mettre au point...
pour ca je veux utiliser un systeme de dossier comme sous l'explorateur

ex:

+adjudant
|+sergent
||+caporal
|||+soldat
|||+soldat

et ainsi de suite...
1 = "soldat"
2 = "caporal"
3 = "segent"
4 = "adjudant"

je voulais prendre le plus haut rang >> $rang = 4
et ensuite utiliser des boucles les unes dans les autres pour afficher tous les joueurs des differents rangs


//defini le rang le plus elevé
$rang = 4;

//affiche les joueurs du rang 4
$result = mysql_query("SELECT * FROM $table WHERE joueur_rang='$rank'"); //on selectionne tous les joueurs du rang 4
while($joueur = mysql_fetch_array($result)) {
echo $joueur[$name]; //on affiche les joueurs du rang 4
$rang--; //$rang = 3
$result = mysql_query("SELECT * FROM $table WHERE joueur_rang='$rank'"); //on selectionne tous les joueurs du rang 3
while($joueur = mysql_fetch_array($result)) {
echo $joueur[$name]; //on affiche les joueurs du rang 3
$rang--; //$rang = 2
$result = mysql_query("SELECT * FROM $table WHERE joueur_rang='$rank'"); //on selectionne tous les joueurs du rang 2
while($joueur = mysql_fetch_array($result)) {
echo $joueur[$name]; //on affiche les joueurs du rang 2
$rang--; //$rang = 1
$result = mysql_query("SELECT * FROM $table WHERE joueur_rang='$rank'"); //on selectionne tous les joueurs du rang 1
while($joueur = mysql_fetch_array($result)) {
echo $joueur[$name]; //on affiche les joueurs du rang 1
}
}
}
}


Pour ainsi obtenir un truc du genre :

+paul (rang 4)
|+mike (rang 3)
||+jean-jacques (rang 2)
|||+michel (rang 1)
|||+hervé (rang 1)

Le problème est que je n'est pas seulement 4 boucles a effectuer mais 19 et il n'y a pas qu'un simple "echo" a l'interieur de chaque boucle...
Effectivement, le code que je vous est affiché est une simplification !
Donc comment pourrais-je faire pour automatiser la construction d'une boucle dans une autre et ainsi de suite jusqu'à ce que $rang = 1 ?
Merci d'avance pour votre aide :)
vendredi 19 novembre 2004 à 00:14:09 | Re : boucle dans boucle

ehmarc

salut

si jai bien compris tu veut un truc comme ca????


$rang = 19;
while($rang != 0){
$requete = "SELECT * FROM $table WHERE joueur_rang='$rang'";
$result = mysql_query($requete);
while($joueur = mysql_fetch_array($result)){
echo $joueur[$name]; //on affiche les joueurs du rang n
}
$rang--;
}


pour eviter de faire les 19 boucles imbriquer
++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
vendredi 19 novembre 2004 à 00:48:06 | Re : boucle dans boucle

Kevergeek

nah dsl c'est vrai que j'ai pris un mauvaise exemple mais c'était pour simplifier lol

effectivement ton code fonctionne pour l'exemple que j'ai donné mais pas pour le suivant :

+adjudant
|+sergent
||+caporal
|||+soldat
|||+soldat
||+caporal
|||+soldat
|+sergent
||+caporal
|||+soldat

voilà c'est deja plus difficile ;)
vendredi 19 novembre 2004 à 08:32:11 | Re : boucle dans boucle

ehmarc

salut

Ton code au dessus ne doit pas marcher non plus vu que ya aucunne dependence entre les requete pour savoir envers qui creer l'arborescence

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
vendredi 19 novembre 2004 à 09:16:58 | Re : boucle dans boucle

ehmarc

salut

je vien de penser a un truc.



$rang = 19;
while($rang != 0){
$requete[$rang] = "SELECT * FROM $table WHERE joueur_rang='$rang'";
if($rang != 19){
$requete .= " and depend_de = '$joueur[$name]'";
}
$result[$rang] = mysql_query($requete[$rang]);
while($joueur = mysql_fetch_array($result[$rang])){
echo $joueur[$name]; //on affiche les joueurs du rang n
}
$rang--;
}


ya quelques modif vu que je connais pas ta base
++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
vendredi 19 novembre 2004 à 11:02:14 | Re : boucle dans boucle

Kevergeek

"Ton code au dessus ne doit pas marcher non plus vu que ya aucunne dependence entre les requete pour savoir envers qui creer l'arborescence"

si comme je l'ai dit, j'ai mis ici un code simplifié mais la vraie version le fait (de la meme facon que le code que tu m'as proposé d'ailleur ^^)
vendredi 19 novembre 2004 à 11:53:24 | Re : boucle dans boucle

ehmarc

Salut

encore moi ca me triture ton truc....
juste vite fait en passant ca serait pet etre uinteressant de stocker combien ya de mec du meme rang sous un mec enfaisant un truc du style

$grade_en_dessous[$rang] = mysql_num_rows($resultat);

ca permettrait de repeter la boucle du dessus et de ne pas afficher qu'un chemin



$rang = 19;
while($rang != 0){
$requete[$rang] = "SELECT * FROM $table WHERE joueur_rang='$rang'";
if($rang != 19){
$requete .= " and depend_de = '$joueur[$name]'";
}
$grade_en_dessous[$rang] = mysql_num_rows($resultat);
$result[$rang] = mysql_query($requete[$rang]);
while($joueur = mysql_fetch_array($result[$rang])){
echo $joueur[$name]; //on affiche les joueurs du rang n
//fo regarder si ya un mec en dessous si oui on descend d'un rang donc on continue le script
//sinon on continue d'afficher et a la fin on decremente le grade juste au dessus
}
$rang--;
}


++

PS : j'essaye de faire avancer ton probleme en tesuggerant les idées qui me passe par la tete.... Je sais pas si je vais trouver une solution mais j'espere bien t'aider


"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
vendredi 19 novembre 2004 à 11:57:08 | Re : boucle dans boucle

ehmarc

re:

tant que jy suis un petit lien

[ Lien ]

ca a l'air sympa

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
vendredi 19 novembre 2004 à 17:53:37 | Re : boucle dans boucle

Kevergeek

oué je vois ce que tu veux dire, si il y a une personne Y qui depend de X, on décremente et on l'affiche mais si ce n'est pas le cas, on ne décrémente pas et on affiche le suivant...

oué c'est pas bete, je vais me pencher sur le probleme et je te tiens au courant ! merci pour l'idee ;)


Cette discussion est classée dans : mysql, joueur, rang, result, joueurs


Répondre à ce message

Sujets en rapport avec ce message

mon formulaire ne se declenche pas [ par oli375 ] voila j'ai une première page  pour ajouter un joueur jeuille de match. php:session_start();include("connection_base.php");if(isset($_SESSION['selectio Rang d'un enregistrement MySQL [ par escorizaweb ] Bonjour à tous, Je cherche à connaître le "rang" d'un de mes enregistrements de ma bdd. Je m'explique, j'ai une table 'joueurs' avec un champ joueur Modif & supprimer en php [ par elhamidikhadija ] Bonjour <span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Ve FOR et mysql_query [ par rems02 ] Bonjour,J'ai un petit probleme avec la fonction FOR et mysql_queryJe voudrai extraires les données de ma bdd MySQLdans un tableau html de la forme:--- lier 2 tables [ par Sogeekette ] Bonjour,J'ai 2 tables dans ma base de données. Lorsque des données sont saisies (la saisie se fait dans 2 formulaires différents, qui entrent les donn Prob classe SQL. [ par Aaron ] Bonjour,Je viens de coder ce qui suit :class DB{var $NUM_ROW;var $RESULTS;         function __construct($server, $db, $login, $pwd){     $this->CNX = Select From where [ par DVTAZ ] Bonjour à toutes et à tousVoila, ne serait il pas possible de simplifier ce genre de code,(voir ci-dessous)je fait une requete avec un critere identiq prob pagination [ par soussan ] sltj'ai un rpob de pagination ; pour la premiere page tt marche bien mais pour la deuxième je suis bloqué ca donne pas la suite des enregistrement voi arret d'un compteur quand il arrive a zero [ par pioupioupioupiou ] Bonsoir à tous,Cette page permet de calculer le nombre de seconde entre 2 dates et de lancer un décompteur.  Mon probleme est losque que le compteur a je voudrais mettre des liens [ par Miss1 ] Miss1Bonjour j'ai


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales