Salut,
En regardant ton problème je me demande si l'organisation de ta base ne va pas te poser des problèmes. A ce que j'ai compris dans ton organisation, dans ta table Possede tu listera chaque unité de chaque joueur avec donc son joueur et ses caractéristiques. Je ne sais pas si tu prévois que les joueurs aient beaucoup d'unité ou non, mais si plusieurs joueurs ont des milliers d'unités, cette table risque de devenir bordélique. La solution peut être d'avoir une entrée dans la table Possede par joueur et non par unité et ensuite selon la façon dont tu veux t'organiser (et si tu aime découper) regrouper des listes texte, je m'explique :
Schéma 1 : Possede(id_joueur, liste_unites)
Dans liste_unites tu pourrais avoir une liste du style "id_unite,id_carac,nombre;id_unite,id_carac,nombre;..." et ensuite dans ton code, avec un explode et un foreach tu obtiens toutes les infos.
Schéma 2 : Possede(id_joueur, unite_1, unite_2, unite_3, ...)
C'est le même schéma à ceci près que plutôt d'avoir une grande liste qui contient toutes les unités, tu en as une par type d'unité puisqu'à ce que j'ai compris, les type d'unités ne changent pas mais leurs caractéristiques oui, donc dans les champs unite_X la liste serait de même format ("id_unite,id_carac,nombre;") mais chaque champ listerait uniquement une unité donc tu pourrais avoir par exemple un champ du style : "8,15,9658;8,18,658;8,25,98;".
En espérant t'aider,
En regardant ton problème je me demande si l'organisation de ta base ne va pas te poser des problèmes. A ce que j'ai compris dans ton organisation, dans ta table Possede tu listera chaque unité de chaque joueur avec donc son joueur et ses caractéristiques. Je ne sais pas si tu prévois que les joueurs aient beaucoup d'unité ou non, mais si plusieurs joueurs ont des milliers d'unités, cette table risque de devenir bordélique. La solution peut être d'avoir une entrée dans la table Possede par joueur et non par unité et ensuite selon la façon dont tu veux t'organiser (et si tu aime découper) regrouper des listes texte, je m'explique :
Schéma 1 : Possede(id_joueur, liste_unites)
Dans liste_unites tu pourrais avoir une liste du style "id_unite,id_carac,nombre;id_unite,id_carac,nombre;..." et ensuite dans ton code, avec un explode et un foreach tu obtiens toutes les infos.
Schéma 2 : Possede(id_joueur, unite_1, unite_2, unite_3, ...)
C'est le même schéma à ceci près que plutôt d'avoir une grande liste qui contient toutes les unités, tu en as une par type d'unité puisqu'à ce que j'ai compris, les type d'unités ne changent pas mais leurs caractéristiques oui, donc dans les champs unite_X la liste serait de même format ("id_unite,id_carac,nombre;") mais chaque champ listerait uniquement une unité donc tu pourrais avoir par exemple un champ du style : "8,15,9658;8,18,658;8,25,98;".
En espérant t'aider,