Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1683 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Comment afficher les résultats uniquement du membre connecté?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment afficher les résultats uniquement du membre connecté?

n°1728233
bingojm
Posté le 04-05-2008 à 16:59:44  profilanswer
 

Je vous explique mon soucis:
Jusque là, j'ai créé une page récupérant les données dans ma table. Il s'agit des résultats correspondants à chaque joueur.
Je voulais que ces résultats s'affichent groupés par nom. Finalement, j'ai les résultats de tous les joueurs qui s'affichent, et lorsque je clique sur un des joueurs, j'arrive sur une nouvelle page qui n'affichent que les résultats du joueur sélectionné.
Jusque là, tout est ok, mais maintenant, je voudrais une condition supplémentaire très important.
Je voudrais que le joueur qui accède aux résultats ne voit que ses propres résultats et ceux de son équipe. (Il est important de savoir que dans ma table "joueur" j'ai associé chaque joueur à un niveau hiérarchique, donc je sais dire qui fait partie de telle ou telle équipe. C'est une structure pyramidale)
Aussi, chaque page contient déjà une vérification pour voir si le joueur est bien enregistré, et donc membre.  
Voici le code que j'utilise pour voir les résultats et récolter les niveaux hiérarchiques:

Code :
  1. <? 
  2. include("connexion.php" ); 
  3. echo "<table border=\"1\" align=\"center\">\n";
  4. echo "<tr bgcolor=\"#F5CA89\">";
  5. echo "<td width=\"135\" align=\"center\" valign=\"middle\">";
  6. echo "Nom du joueur";
  7. echo "</td>";
  8. echo "<td  align=\"center\" valign=\"middle\">";
  9. echo "Points"; 
  10. echo "</td>";
  11. echo "<td align=\"center\" valign=\"middle\">";
  12. echo "Date"; 
  13. echo "</td>"."<br />"; 
  14. echo "</tr>";
  15. // Je parcours les joueurs pour reconstruire leur aborescence   
  16. $sql_count = "SELECT count( id_joueur), count( DISTINCT id_hierarchy ) FROM `joueur`";
  17. $result_count = mysql_fetch_row(mysql_query($sql_count));
  18. $nb_joueur = $result_count[0];
  19. $niv_hierarchy = $result_count[1];
  20. for ($i = 1; $i <= $nb_joueur; $i++)
  21. {
  22. $level = $i;
  23. $resultat_temp = $level;
  24. //Je parcours les niveaux hiérarchiques pour voir les dépendances de chacun  
  25. for ($j = 0; $j < $niv_hierarchy; $j++)
  26. {
  27.   $sql_hierarchy1 = "SELECT id_joueur FROM joueur WHERE id_hierarchy in ($level)";
  28.   $mysql_hierarchy1 = mysql_query($sql_hierarchy1);
  29.   $temp = '';
  30.   while (@$row_hierarchy1 = mysql_fetch_array($mysql_hierarchy1, MYSQL_NUM))
  31.   {
  32.    $temp .= ','.$row_hierarchy1[0];
  33.   }
  34.   $resultat_temp .= $temp;
  35.   $level = trim(substr($temp,1,strlen($temp)));
  36. }
  37. //Je stocke les résultats  
  38. $resultat[$i] = trim($resultat_temp);
  39. }
  40. // J'affiche les résultats. Là, je bloque!!! Voilà un début peut-être correct...
  41. // for ($i = 1; $i <= $nb_collaborateur; $i++)
  42. //{
  43. $query = "SELECT nom, points, date FROM joueur, production where idjoueur=id_joueur ORDER BY BINARY nom";
  44. $result = mysql_query($query) or die("Query failed" );
  45. while ($line = mysql_fetch_assoc($result)) {
  46.     echo "<tr>\n";
  47. foreach ($line as $col_name => $col_value) {
  48.   if ($col_name == 'nom')
  49. { echo '<td><a class="lien3" href="detail_joueur.php?id='.$line['id_joueur'].'">'.$col_value.'</a></td>'; }
  50.   else
  51.    {   echo "<td>$col_value</td>";}
  52. }
  53.     echo "</tr>";
  54. }
  55. echo "</table>\n";
  56. ?>


Voici le code pour l'espace membre:

Code :
  1. <?
  2. require("membres/conf.php3" );
  3. // CONNEXION MYSQL
  4. $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
  5. if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
  6. // SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
  7. $requete=mysql_db_query($sql_bdd,"select * from membre where id=\"$id\"",$db_link) or die(mysql_error());
  8. // SI L'ID N'EXISTE PAS
  9. if(mysql_num_rows($requete)==0)
  10. {
  11. // REDIRECTION PAGE ERREUR
  12. header("Location:$url_erreur" );
  13. exit;
  14. }
  15. // LIGNE FACULTATIVE : RECUPERATION DU PSEUDO
  16. $pseudo_membre=mysql_result($requete,0,"pseudo" );
  17. $id_membre=mysql_result($requete,0,"id_membre" );
  18. // DECONNEXION MYSQL  
  19. mysql_close($db_link);
  20. ?>


En partant de ça, comment faire pour que le joueur qui accède aux résultats ne voit que ses propres résultats et ceux de son équipe?


Message édité par bingojm le 04-05-2008 à 17:15:40
mood
Publicité
Posté le 04-05-2008 à 16:59:44  profilanswer
 

n°1728343
bingojm
Posté le 04-05-2008 à 23:43:05  profilanswer
 

Vraiment personne pour m'aider? Ou cela est vraiment irréalisable?
Merci de m'éclairer... je suis perdu

n°1728435
babasss
Posté le 05-05-2008 à 10:35:59  profilanswer
 

C'est possible, mais cela nécessite des ajustements dans le code déjà écrit (qui vient en parti de moi si je ne m'abuse  :D ).
Je me suis rendu compte de certains soucis :

  • le code ne fonctionne plus si les numéros des id_joueur dans la BDD ne sont pas jointifs
  • il faudrait stocker dans le tableau $resultat l'id joueur en face de son arbre hiérarchique


Une fois que tu auras fait cela, ce sera plus jouable...


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Comment afficher les résultats uniquement du membre connecté?

 

Sujets relatifs
robot pour valider formulaire et recuperer les resultatsRESOLU un temps ~ 30 second avant d'afficher un lien possible?
affichage resultats en PHPafficher des image stocker dans bdd mysql
[Résolu]Afficher résultat requête MAX[Résolu] Afficher les 10 dernières lignes d'un fichier
Probleme settimeout pour afficher plusieurs texte à la suiteafficher la suite d'un formulaire dans même iframe php
Mise en forme de résultats 
Plus de sujets relatifs à : Comment afficher les résultats uniquement du membre connecté?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR