je mettrais tous les ids des objet possèder dans le meme champ avec un split(';', $var);
Comment gérer d'une part l'inventaire dans la BDD, je précise : dois-je intégrer l'inventaire de chaque personnage au sein de la table qui résume ses informations personnelles ?
Si oui, dois-je créer une entrée au sein de la table par emplacement disponible dans l'inventaire ou puis-je compresser les données au sein d'une seule entrée tout en conservant la possibilité d'éditer une partie des informations qui y sont contenues (lors de la suppression d'un objet de l'inventaire par exemple). Je dois préciser qu'il sera possible d'augmenter le nombre d'emplacement d'inventaire disponible.
Pour cela il faut tenir compte aussi du fait que je dois aussi utiliser les objets au sein de l'inventaire afin de les équiper sur mon personnage (casque) ou de les consommer (potion par exemple).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questiondans la table character has items, en fait à chaque fois qu'un objet est acquis par un individu je fais une nouvelle entrée dans la table
après je spécifie dans la table characters le nombre d'objet maximum ramassable
pourrais tu me faire un petit exemple en utilisant les tables et les id présents en l'espèce ?
mysql> SELECT Characters.name AS 'name', Races.name AS 'race' FROM Characters INNER JOIN Races ON Characters.Races_id = Races.id; +--------------+--------+ | name | race | +--------------+--------+ | Loveandpeace | Pony | | Blastator | Goblin | +--------------+--------+ 2 rows in set (0.00 sec)
mysql> SELECT -> Items.name AS 'Item', -> Item_types.name AS 'type', -> Characters_has_Items.quantity AS 'quantity' -> FROM (((Characters INNER JOIN Characters_has_Items -> ON Characters.id = Characters_has_Items.Characters_id) -> INNER JOIN Items -> ON Characters_has_Items.Items_id = Items.id) -> INNER JOIN Item_types -> ON Items.Item_types_id = Item_types.id) -> WHERE Characters.id = 1; +---------------------------+--------+----------+ | Item | type | quantity | +---------------------------+--------+----------+ | Shield of the undead pony | shield | 1 | | Fire sword | fire | 1 | +---------------------------+--------+----------+ 2 rows in set (0.00 sec) mysql> SELECT -> Items.name AS 'Item', -> Item_types.name AS 'type', -> Characters_has_Items.quantity AS 'quantity' -> FROM (((Characters INNER JOIN Characters_has_Items -> ON Characters.id = Characters_has_Items.Characters_id) -> INNER JOIN Items -> ON Characters_has_Items.Items_id = Items.id) -> INNER JOIN Item_types -> ON Items.Item_types_id = Item_types.id) -> WHERE Characters.id = 2; +------------+------+----------+ | Item | type | quantity | +------------+------+----------+ | Pony dress | cold | 3 | +------------+------+----------+ 1 row in set (0.00 sec)
mysql> SELECT Effects.name AS 'Effect' -> FROM (((Characters -> INNER JOIN Races -> ON Characters.Races_id = Races.id) -> INNER JOIN Races_has_Effects -> ON Races.id = Races_has_Effects.Races_id) -> INNER JOIN Effects -> ON Races_has_Effects.Effects_id = Effects.id) -> WHERE Characters.id = 1 -> -> UNION -> -> SELECT Effects.name AS 'Effect' -> FROM ((((Characters -> INNER JOIN Characters_has_Items -> ON Characters.id = Characters_has_Items.Characters_id) -> INNER JOIN Items -> ON Characters_has_Items.Items_id = Items.id) -> INNER JOIN Items_has_Effects -> ON Items.id = Items_has_Effects.Items_id) -> INNER JOIN Effects -> ON Items_has_Effects.Effects_id = Effects.id) -> WHERE Characters.id = 1; +-------------+ | Effect | +-------------+ | kamiblast | | poney power | | bonus X | | karapatate | +-------------+ 4 rows in set (0.00 sec)
Aïe là j'ai un petit soucis conceptuel, tu envoies directement tes requête mySQL, moi je passais uniquement par PHP pour faire ça, comment peux tu faire en sortes d'envoyer directement la requête sans passer par un formulaire php (enfin j'utilise AJAX pour que ça soit agréable visuellement mais bon c'est du php au final).
ou bien la table est incomplète et je dois rajouter ce qui me semble judicieux en son sein ?
D'ailleurs toi qui t'y connais pas mal tu connaîtrais pas un bon petit site en ce qui concerne la sécurité d'un site internet ?