par
Bioas » 09 mai 2006, 20:43
J'ai lu ton post et je voulais m'assuré que tu comprene autant la logique que la requète. C'est très simple.
Admetons que tu aie un Conseillé qui lui doit se chargé de ces 3 Conseillé.
Tu as un tableau qui contien tout les conseillé et sous conseillé. Dans ce tableau tu devrais normalement avoir une valeur clé pour identifié chacun de ceux ci qui généralemetn est nommé "Id", le nom du conseillé ou son nom d'utilisateur "Name", son niveau dans la hiérarchie (de 0 à 10 et + ou Admin/Conseillé/Sous-Conseillé) nommé "Group", et pour les sous-conseillé des conseillé un champ qui serais "sConseil".
Ceci donnerais un tableau qui resemblerais à ceci :
Tableau - User ::
Id -> 1 -> 2
Name -> Alain -> Gérard
Group -> Conseille -> Sous-Conseillé
sConseil -> 2, 3, 4 -> NULL (Champ Vide)
Du coté de php maintenant. Ta base de donné serais connecté, et l'utilisateur aussi. Tu devrais donc avoir une façon simple de récupéré l'identifiant de l'utlisateur connecté qui serais un chifre ou un nombre. Moi j'ai l'habitude de stoqué cette information dans la variable $_SESSION, et plus précisément dans un Champ "Id", comme pour la base de donnée. Ce qui donne $_SESSION['Id']. A partir de sa tu peut formulé une requète à ta base de donné que je vais t'écrire ici. J'ai choisi d'y metre une fonction pour que le code soit plus simple.
Code : Tout sélectionner
Function getUserInfo($Id) {
$Reqete=mysql_query("SELECT Name, Group, Conseil FROM User WHERE Id='".$Id."'");
If(mysql_num_rows($Requete)>=1) {
while($row=mysql_fetch_row($Requete)) {
$Resulta['Name']=$row[0];
$Resulta['Group']=$row[1];
$Resulta['Conseil']=$row[2];
}
}
Return $Resultat; //Résultat est un Tableau contenant les information de l'utilisateur...
}
// Récupération et affichage des informations des sous-conseillé d'Alain :
$Req=mysql_query("SELECT sConseil FROM User WHERE Id='".$_SESSION['Id']."'");
echo "";
if(mysql_num_rows($Req)==1) {
$ligne=mysql_fetch_row($Req);
$sConseil=explode(", ", $ligne[0]);
foreach($sConseil as $valeur) {
$sConseil_Info=getUserInfo($valeur);
echo "Nom :".$sConseil_Info['Name']."<br>\n";
echo "Groupe :".$sConseil_Info['Group']."<br>\n";
echo "<br><br>\n";
}
}
Pour ce code Alain doit être connecté et son identifian doit être stoqué dans la variable $_SESSION['Id'], si ce n'est pas le cas tu devra changer cette ligne :
Code : Tout sélectionner
$Req=mysql_query("SELECT sConseil FROM User WHERE Id='".$_SESSION['Id']."'");
par celle-ci :
Tu pourais étendre tout ceci beaucoup plus loin mais si tu n'est pas rendu la tu devrais commencé par ce petit bout de code just for you.
Je n'ai pas testé le code mais il devrais fonctionné. Avec la fonction tu peut aussi récupéré le nom d'Alain comme tu le fait avec les autre plus bas dans la boucle. La fonction explode sépare les identifiant des sous conseillé contenu dans le champ sConseil d'alain de cette mainere : 1:2:3.
Ces valeur sont chacune dans $sConseil[0] $sConseil[1] et $sConseil[2].
Plutot que le "foreach" tu aurais pu faire un "for" comme présenté ci-dessous, mais il est un peut plus compliqué. N'oublis pas de visité le site php.net qui contien toute la documentation sur ce que tu vient de lire dans ce post, sauf pour les requète Sql.
Code : Tout sélectionner
for($i=0; $i<count($sConseil); $i++) {
$sConseil_Info=getUserInfo($sConseil[$i]);
echo "Nom :".$sConseil_Info['Name']."<br>\n";
echo "Groupe :".$sConseil_Info['Group']."<br>\n";
echo "<br><br>\n";
}
Et voila, c'est aussi simple que sa.
Bonne chance

J'ai lu ton post et je voulais m'assuré que tu comprene autant la logique que la requète. C'est très simple.
Admetons que tu aie un Conseillé qui lui doit se chargé de ces 3 Conseillé.
Tu as un tableau qui contien tout les conseillé et sous conseillé. Dans ce tableau tu devrais normalement avoir une valeur clé pour identifié chacun de ceux ci qui généralemetn est nommé "Id", le nom du conseillé ou son nom d'utilisateur "Name", son niveau dans la hiérarchie (de 0 à 10 et + ou Admin/Conseillé/Sous-Conseillé) nommé "Group", et pour les sous-conseillé des conseillé un champ qui serais "sConseil".
Ceci donnerais un tableau qui resemblerais à ceci :
Tableau - User ::
Id -> 1 -> 2
Name -> Alain -> Gérard
Group -> Conseille -> Sous-Conseillé
sConseil -> 2, 3, 4 -> NULL (Champ Vide)
Du coté de php maintenant. Ta base de donné serais connecté, et l'utilisateur aussi. Tu devrais donc avoir une façon simple de récupéré l'identifiant de l'utlisateur connecté qui serais un chifre ou un nombre. Moi j'ai l'habitude de stoqué cette information dans la variable $_SESSION, et plus précisément dans un Champ "Id", comme pour la base de donnée. Ce qui donne $_SESSION['Id']. A partir de sa tu peut formulé une requète à ta base de donné que je vais t'écrire ici. J'ai choisi d'y metre une fonction pour que le code soit plus simple.
[code]
Function getUserInfo($Id) {
$Reqete=mysql_query("SELECT Name, Group, Conseil FROM User WHERE Id='".$Id."'");
If(mysql_num_rows($Requete)>=1) {
while($row=mysql_fetch_row($Requete)) {
$Resulta['Name']=$row[0];
$Resulta['Group']=$row[1];
$Resulta['Conseil']=$row[2];
}
}
Return $Resultat; //Résultat est un Tableau contenant les information de l'utilisateur...
}
// Récupération et affichage des informations des sous-conseillé d'Alain :
$Req=mysql_query("SELECT sConseil FROM User WHERE Id='".$_SESSION['Id']."'");
echo "";
if(mysql_num_rows($Req)==1) {
$ligne=mysql_fetch_row($Req);
$sConseil=explode(", ", $ligne[0]);
foreach($sConseil as $valeur) {
$sConseil_Info=getUserInfo($valeur);
echo "Nom :".$sConseil_Info['Name']."<br>\n";
echo "Groupe :".$sConseil_Info['Group']."<br>\n";
echo "<br><br>\n";
}
}
[/code]
Pour ce code Alain doit être connecté et son identifian doit être stoqué dans la variable $_SESSION['Id'], si ce n'est pas le cas tu devra changer cette ligne :
[code]
$Req=mysql_query("SELECT sConseil FROM User WHERE Id='".$_SESSION['Id']."'");
[/code]
par celle-ci :
[code]
$Req=mysql_query("SELECT sConseil FROM User WHERE Id='1'");
[/code]
Tu pourais étendre tout ceci beaucoup plus loin mais si tu n'est pas rendu la tu devrais commencé par ce petit bout de code just for you.
Je n'ai pas testé le code mais il devrais fonctionné. Avec la fonction tu peut aussi récupéré le nom d'Alain comme tu le fait avec les autre plus bas dans la boucle. La fonction explode sépare les identifiant des sous conseillé contenu dans le champ sConseil d'alain de cette mainere : 1:2:3.
Ces valeur sont chacune dans $sConseil[0] $sConseil[1] et $sConseil[2].
Plutot que le "foreach" tu aurais pu faire un "for" comme présenté ci-dessous, mais il est un peut plus compliqué. N'oublis pas de visité le site php.net qui contien toute la documentation sur ce que tu vient de lire dans ce post, sauf pour les requète Sql.
[code]
for($i=0; $i<count($sConseil); $i++) {
$sConseil_Info=getUserInfo($sConseil[$i]);
echo "Nom :".$sConseil_Info['Name']."<br>\n";
echo "Groupe :".$sConseil_Info['Group']."<br>\n";
echo "<br><br>\n";
}
[/code]
Et voila, c'est aussi simple que sa.
Bonne chance :)