bossfoot
Messages postés13Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention 7 avril 2009
-
7 avril 2009 à 02:59
bossfoot
Messages postés13Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention 7 avril 2009
-
7 avril 2009 à 20:51
Bonjour à tous et toutes,
Je me retrouve confronté à un problèmes qui m'ennuie assez vu que je n'ai pas réussit à trouver une réponse par mes propres moyens ^^
Donc voilà en gros mon soucis :
Je compte faire un jeu php pour m'améliorez dans ce langage principalement ^^
Je souhaiterai faire une table du style
| id | nom_perso | objets |
Mais le champ objet contiendrait la liste des objets que possède le joueur. Ce champ serait rempli d'id de ma tables objets séparer par une virgule.
| 1 | joueur_test | 1,2,3 |
le numéro 1 correspondrait à un bâton, le 2 a une flute et le 3 a du papier.
Mais je vois pas du tout comment sélectionner tel ou tel objet. Ça serait pour faire apparaître les objet dans linventaire du joueur
J'espère que j'ai été clair ^^
Merci de votre attention et de vos éventuelles réponses,
++
A voir également:
MEttre des id à la chain dans un chmap comment les trier ?
ed73
Messages postés276Date d'inscriptionlundi 8 septembre 2008StatutMembreDernière intervention15 avril 20132 7 avril 2009 à 19:24
Bonsoir,
Ne pars pas du principe que ta table est trié par id_joueur, ce n'est pas certain. Pour avoir les données triées par joueur la requête devient :
select Joueur.id_joueur, Joueur.nom_perso, Objet.nom_objet from Joueur,Objet,Joueur_Objet
where Joueur.idjoueur = Joueur_Objet.idjoueur
and Objet.idobjet = Joueur_Objet.idobjet
order by Joueur.id_joueur
Cette requête te donne tous les objets de tous les joueurs triés par identifiant de joueur.
J'avais mis and Joueur.nom_perso = 'toto' juste comme exemple, ça permet de retrouver uniquement les objets appartenant au joueur 'toto'.
ainsi chaque joueur peut posséder plusieurs objets et chaque objet peut être possédé par plusieurs joueurs. Il est alors très simple de sconnaitre l'inventaire du joueur, par exemple pour le joueur 'toto' :
select nom_perso,nom_objet from Joueur,Objet,Joueur_Objet
where Joueur.idjoueur = Joueur_Objet.idjoueur
and Objet.idobjet = Joueur_Objet.idobjet
and Joueur.nom_perso = 'toto'
bossfoot
Messages postés13Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention 7 avril 2009 7 avril 2009 à 17:11
Bonjour,
ok en fait j'avais besoin d'une table de liaison ^^
Je pense avoir tout compris sauf le point ci-dessous
Mais je comprends pas pourquoi il faut rajouter and Joueur.nom_perso = 'toto' vu qu'on a deja trier par l'id_joueur.