15-08-2008, 08:33 PM
(Modification du message : 15-08-2008, 08:54 PM par Sephi-Chan.)
Mon but est que l'intégration de chaque membre se fasse correctement et qu'au final, tout le monde y gagne. L'idée du filtrage n'était qu'une mascarade pour pousser les membres à participer au débat activement.
Quant à ta place dans mon estime, je pense qu'on s'en fiche pas mal ; si tu t'investis un peu dans la communauté, il n'y aura pas de problèmes entre nous.
Pour en revenir à ton problème, je te conseille pour opter pour une méthode plus propre : l'utilisation d'une table qui relie des objets à un personnage. Faire cela t'apportera une notion supplémentaire et fondamentale pour créer un jeu : les jointures SQL.
Pour mettre une telle chose en place, il te faut une table Personnages, qui contient les informations propres à… un personnage.
Il te faudra également une table Objets, qui contiendra contre toute attente les informations relatives aux objets.
Et enfin, tu auras besoin d'une table Personnage_a_objet qui contiendra une entrée par objet que porte chaque personnage.
Cette technique suppose que tu utilises des identifiants numériques plutôt que des noms. En gros, tes tables Personnages et Objets auront un champ id qui sera une clé primaire (primary key) de type Int, avec l'attribut Unsigned et l'option auto_increment. Tu peux nommer ce champ personnage_id pour la table Personnages et objet_id pour la table Objets.
Ta table de relation (Personnage_a_objet contiendra alors deux champs, personnage_id et objet_id. Dès qu'un personnage obtient un objet, une entrée est créée dans cette table avec comme valeurs l'identifiant du personnage et celui de l'objet qu'il a acquis.
Ensuite, concrètement, comment tu vas utiliser ça ?
Pour sélectionner les objets d'un personnage, il te suffira d'avoir l'identifiant de ton personnage et de faire :
Quant à ta place dans mon estime, je pense qu'on s'en fiche pas mal ; si tu t'investis un peu dans la communauté, il n'y aura pas de problèmes entre nous.
Pour en revenir à ton problème, je te conseille pour opter pour une méthode plus propre : l'utilisation d'une table qui relie des objets à un personnage. Faire cela t'apportera une notion supplémentaire et fondamentale pour créer un jeu : les jointures SQL.
Pour mettre une telle chose en place, il te faut une table Personnages, qui contient les informations propres à… un personnage.
Il te faudra également une table Objets, qui contiendra contre toute attente les informations relatives aux objets.
Et enfin, tu auras besoin d'une table Personnage_a_objet qui contiendra une entrée par objet que porte chaque personnage.
Cette technique suppose que tu utilises des identifiants numériques plutôt que des noms. En gros, tes tables Personnages et Objets auront un champ id qui sera une clé primaire (primary key) de type Int, avec l'attribut Unsigned et l'option auto_increment. Tu peux nommer ce champ personnage_id pour la table Personnages et objet_id pour la table Objets.
Ta table de relation (Personnage_a_objet contiendra alors deux champs, personnage_id et objet_id. Dès qu'un personnage obtient un objet, une entrée est créée dans cette table avec comme valeurs l'identifiant du personnage et celui de l'objet qu'il a acquis.
Ensuite, concrètement, comment tu vas utiliser ça ?
Pour sélectionner les objets d'un personnage, il te suffira d'avoir l'identifiant de ton personnage et de faire :
Code PHP :
<?php
$ressource = mysql_query("
SELECT O.*
FROM personnages P
JOIN Personnage_a_objet PaO
ON PaO.personnage_id = P.personnage_id
JOIN Objets O
ON O.objet_id = PaO.objet_id
WHERE P.personnage_id = $idDeTonPersonnage;
");
Et tu peux même ajouter une condition sur le type d'objet ! Exemple :
Code PHP :
<?php
$ressource = mysql_query("
SELECT O.*
FROM personnages P
JOIN Personnage_a_objet PaO
ON PaO.personnage_id = P.personnage_id
JOIN Objets O
ON O.objet_id = PaO.objet_id
WHERE P.personnage_id = $idDeTonPersonnage
AND O.type = 'arme';
");