IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Creer une table pour chaque utilisateur


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de BROADSIDER
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 65
    Points : 45
    Points
    45
    Par défaut Creer une table pour chaque utilisateur
    Bonjour!
    Je suis en ce moment entrain de créer un jeu ou l'on débloque des cartes, pour l'instant il y'en a 133, mais se nombre va évoluer, il y'a differentes rareté pour chaque carte.

    Mon jeu comprends des sessions qui enregistre le score de chaque utilisateur dans une table ou il y'a : id, pseudo, mdp, et le score de l'utilisateur. Mais maintenant j'aimerais à chaque fois qu'un nouvelle utilisateur se créer un compte lui créer une table ou il y'a toutes les cartes disponible et celle qui a débloqué et celle qui n'a pas débloqué, dans le principe sa serais simplement une table avec le nom de chaque unité et qui dis si oui ou non il a cette unité.

    Mais mon problème et que je n'ai aucune idée de comment créer une table automatiquement pour chaque joueur et qu'elle méthode serais la plus efficace pour la maintenance. J'espère que quelqu'un pourra m'aiguiller.

    Merci et bonne journée!

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Le plus simple est d'avoir une table globale avec l’identifiant utilisateur comme partie de la clé primaire.
    Exemple :
    id_utilisateur, id_carte, top_bloque.

    Une table par utilisateur serait le pire des choix.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Membre du Club Avatar de BROADSIDER
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 65
    Points : 45
    Points
    45
    Par défaut
    Ah d'accord! Je vais essayer de me renseigner sur cette piste! Mais ducoup comment je différenciré les utilisateur et les cartes que chacun ont débloqués🤔

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si on y réfléchit un peu, il te faut 4 TABLES en BDD :

    D'abord, les tables des "joueurs" et "cartes" :
    1- table "t_players_p"
    • id_player (A.I.)
    • p_nom (ou pseudo)
    • p_mdp
    • p_avatar
    • p_age
    • ... (BREF : toutes les informations SPÉCIFIQUES au joueur)


    2- table "t_cards_c"
    • id_card (A.I.)
    • c_titre
    • c_description
    • c_image
    • c_puissance_initiale
    • ... (BREF : toutes les informations SPÉCIFIQUES à la carte)


    Ensuite :
    Si on suppose qu'un joueur peut démarrer plusieurs parties (games), ou que ses parties soient archivés :
    3- table "t_players_games_pg"
    • id_game (A.I.)
    • id_player
    • pg_game_active (0/1) -> JEU en cours ?
    • pg_game_level (niveau du jeu)
    • puissance_player (du joueur de CE jeu, si évolutive)
    • ... (ICI : toutes les informations SPÉCIFIQUES AU jeu DU joueur)


    Enfin, on associe les cartes (du joueur) à la PARTIE (game) :
    4- table "t_games_cards_gc"
    • id_game
    • id_card
    • gc_card_active (0/1) -> CARTE active (débloquée) ?
    • puissance_card (de la carte, si évolutive)
    • ... (ICI : toutes les informations SPÉCIFIQUES à LA carte DU joueur)


    Les tables 3- et 4- sont des "tables relationnelles", ou tables de JOINTURE.
    Dernière modification par Invité ; 21/04/2019 à 15h38.

  5. #5
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Voire dans la table "t_games_cards_gc", il est possible de ne faire figurer que les cartes actives (on obtiens alors les cartes non-actives par déduction vu qu'elles n'y figureront pas).
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  6. #6
    Invité
    Invité(e)
    Par défaut
    @CosmoKnacki
    +1

    @BROADSIDER
    Après, il est possible que des cartes ne soient "activables" qu'à partir d'un certain "niveau" (game_level).
    Et / Ou les cartes peuvent avoir plusieurs "niveaux de blocage" ?
    OU.....

    Mais ça... ça fait justement partie de la RÉFLEXION à avoir AVANT DE CODER, pour obtenir la CONCEPTION optimale des tables.

Discussions similaires

  1. [MySQL] Creer des liens pour chaque entrée d'une table
    Par dlecteur dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/09/2010, 16h09
  2. Réponses: 4
    Dernier message: 28/05/2010, 17h11
  3. Réponses: 5
    Dernier message: 27/04/2010, 11h26
  4. utile de créer une table pour chaque utilisateur ?
    Par Overstone dans le forum Langage SQL
    Réponses: 6
    Dernier message: 22/03/2008, 14h37
  5. Réponses: 1
    Dernier message: 22/11/2007, 04h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo