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

Langage PHP Discussion :

Heritage ou pas ? Lien entre plusiuers tables


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mars 2018
    Messages : 1
    Par défaut Heritage ou pas ? Lien entre plusiuers tables
    Bonjour !

    J'ai lu un cours sur l'héritage en PHP mais je ne vois pas du tout comment cela pourrait m'aider face à mon problème.

    J'ai 3 classes. Une classe "Job" qui peut être de type "local" ou "remote" (et plus encore mais je reste concis).

    J'ai donc fait:
    - une classe PHP/table sql nommé 'Job' qui contient les colonnes : ID, email, date_ajout, comment, ID_public (ID_public est un id passé en paramètre pour récupérer et afficher le job)
    - une classe PHP/table sql nommé 'Local' qui contient les colonnes : ID, nom, rue, code_postal, ville
    - une classe PHP/table sql nommé 'Remote' qui contient les colonnes : ID, telephone, date, heure, presence

    L'utilisateur accède à tous ses jobs (local et/ou remote) via Job.ID_public.
    Question : comment faire le lien entre la table Job et les deux autres tables ? Via un héritage ?

    Je pensais (?) à rajouter un attribut Job.detail qui pointe soit vers Local.ID soit vers Remote.ID selon le type de Job.
    Est-ce une bonne manière de faire le lien entre Job et les type de job ?

    Merci d'avance pour votre aide ! En espérant avoir été clair ^^

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Si j'ai bien compris, côté PHP, l'héritage vaudrait le coup pour ta problématique.
    Tu aurais une classe abstraite job.
    Et ta classe local_job comme ta classe remote_job hériterait de la classe abstraite job.

    http://php.net/manual/fr/language.oop5.abstract.php

    Question : comment faire le lien entre la table Job et les deux autres tables ? Via un héritage ?
    Non. Là, tu parles base de données. Il ne faut pas tout mélanger.
    Tu as besoin d'une clé étrangère, job_id :

    - une table sql nommé 'Local' qui contient les colonnes : ID, job_id,nom, rue, code_postal, ville
    - une table sql nommé 'Remote' qui contient les colonnes : ID,job_id,telephone, date, heure, presence

    Et ensuite une requête pour les jobs locaux donnera (PS met tous tes champs en minuscule, évite les champs nommés "date", c'est un mot réservé SQL), et pourquoi avoir date et heure alors que tu as un type datetime qui te donne tout d'un coup, appelons-le "moment"

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT j.id as job_id, j.email, j.date_ajout, j.comment, j.id_public,l.id as local_id,l.telephone,date_format(l.moment,"%d/%m/%Y H:i:s") as moment,l.presence
    from job j
    inner join local l on j.id=l.job_id
    order by l.moment desc

    Si tu étudies bien le code SQL ci-dessus, tu devrais parvenir à trouver le code pour la requete des jobs remote...

    https://www.developpez.net/forums/d1...re-phpmyadmin/
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

Discussions similaires

  1. Réponses: 16
    Dernier message: 25/06/2013, 10h45
  2. si pas de lien entre deux table
    Par acipeg dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 24/11/2006, 10h33
  3. lien entre les tables
    Par cedric12 dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 03/10/2005, 23h39
  4. [VB.NET] ComboBox lien entre deux tables
    Par VDB1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/07/2004, 12h15
  5. lien entre les table de paradox
    Par salim_intic1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/05/2004, 16h00

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