JeuWeb - Crée ton jeu par navigateur
[Réglé] Plusieurs tables par joueur? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Réglé] Plusieurs tables par joueur? (/showthread.php?tid=964)



[Réglé] Plusieurs tables par joueur? - Michoo - 23-03-2007

Bonjour,

En apprenant mysql et le php, on apprend qu'on peut faire autant de table que l'on veut.
Et je me demandais si c'était tout de même déconseillé de trop en faire?

Car ça m'arrangerait beaucoup de pouvoir en faire plusieurs par joueur inscrit. Ca éviterait que je me retrouve avec des tables qui ont 60 champs.

Mais pour autant, cela voudrait dire que j'aurais genre une table générale pour tous (avec les pseudos, email, pass, ect...) et 2/3 table par joueur... Ce qui risque vite d'en faire pas mal...

Est-ce que ça risque de poser un probleme quelconque? Déconseillé ou pas gênant? Mieux vaut-il faire un table avec beaucoup de champs?

Merci pour votre aide!!! :good:

@ +


RE: Plusieurs tables par joueur? - grouik5962 - 23-03-2007

Bonjour Michoo,

Alors une table générale avec pseudo, codejoueur, email, pass me semble indispensable.
Ensuite pour les informations du joueur tu as effectivement souvent besoin de plusieurs tables. Mais pas 2/3 par joueur c'est 2/3 pour tous les joueurs.
Par exemple, une table BATIMENTS_CONSTRUITS pourra contenir numJoueur (défini le joueur), numBatiment (définit le batiment contruit) et dateConstruction par exemple. A chaque fois qu'un joueur fait une construction tu viens ajouter une ligne dedans. Donc c'est bien toujours la même table qui servira pour toutes les constructions.
Tu ne créera une nouvelle table que pour sauvegarder des informations d'un autre type : par exemple FLOTTE_JOUEUR (pour sauvegarder le contenu d'une flotte d'un joueur) ou INFOS_PLANETE, ....
Le nombre de table ne dépend donc pas du nombre de joueur.

A+


RE: Plusieurs tables par joueur? - Michoo - 23-03-2007

Citation :Le nombre de table ne dépend donc pas du nombre de joueur.

Oui je sais ça! ^^

En fait je crois que je me suis mal exprimé, voilà le truc : un joueur a des planètes, il peut en conquérir.
Il y a donc une table globale (qui est comme tu l'as dit indispensable) et j'avais pensé à ce que chaque joueur ait sa propre table.
Ainsi, dans les champs il y a par exemple : construction, nombre d'habitants... Et il y a une ligne par planète (une nouvelle ligne est créée lorsque le joueur gagne une nouvelle planète). Ce qui permet que chaque planète ait ses données et soit gérée individuellement.

Par ce que je ne vois pas trop sinon comment faire pour que chaque joueur puisse avoir toutes ses planètes et puissent les gérer séparemment...

(je ne sais pas si j'ai été bien plus clair XD )


RE: Plusieurs tables par joueur? - grouik5962 - 23-03-2007

Euh pas trop :-)

Sinon
table PLANETES
idjoueur
idplanete
nom_planete
nombre_habitant
nombre_construction

Ca me parait pas mal comme table pour ton probleme, non ?


RE: Plusieurs tables par joueur? - Byleth - 23-03-2007

Oula malheureux, une table par joueur Confused

Non, y'a plus simple : tu donnes une Id_joueur à chaque joueur qui sera une sorte de clef pour toutes les tables. Une fois que tu l'as, tu n'as plus qu'à rechercher tes infos pour une Id donnée.

Par exemple, j'imagine que tu auras une Id_planete qui s'auto incrémente à chaque nouvelle planète créee. Tu auras une ligne qui correspondra à cette planète dans la table planète, dans cette ligne tu auras toutes les infos dont l'Id du possesseur.

Un exemple pour les champs :
Code :
Id_planete, Id_joueur, Type_planete, Population, Niveau_pollution etc....

Tu aurais
Code :
255 (c'est la planète numéro 255), 45 (elle appartient au joueur 45), Glaciaire (elle est recouverte de glace), 12550000 (nb d'habitant), 2 (polluée au niveau 2) etc...

Ainsi, dans toutes tes tables tu retrouveras ton Id_Joueur et lorsque tu recherches des infos sur un joueur, tu vas chercher dans la table concernée pour son Id que tu transmets par variable de session.


RE: Plusieurs tables par joueur? - Michoo - 28-03-2007

Ah d'accord, je viens de comprendre mon erreur. Ce que je voulais en effet c'était que la table "planète" de chaque joueur comporte toutes les planètes du joueur et toutes les infos sur chacunes d'elles.
Il suffit en fait de faire comme tu le dis une table pour toutes les planètes de tous les joueurs! C'était pourtant simple et je l'ai pas vu!:mauvais: :haha:

En tout cas merci à vous deux! Tout devient clair maintenant! ^^