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 :

Poster une table


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2022
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2022
    Messages : 17
    Par défaut Poster une table
    Bonjour,

    J'ai un tableau généré dynamiquement en php et je souhaite le sauvegarder dans ma base de donnée mysql.
    Le tableau est composé de 4 collones :

    • les deux premières avec des noms et prénoms,
    • les deux dernières avec des checkbox pour enregistrer les présences du matin et de l'après midi


    Pouvez-vous me dire quelle est la méthode à utiliser pour sauvegarder tout le tableu dans ma BdD?

    Merci d'avance !

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    si vous le générez en php, d'où vient la liste des personnes ?

  3. #3
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2022
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2022
    Messages : 17
    Par défaut
    Elle vient d'une autre table de ma BdD...

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    donc je suppose que la table a une clé primaire "id_utilisateur" et des champs comme cela ?
    • id_utilisateur
    • prenom_utilisateur
    • nom_utilisateur
    • email_utilisateur
    • ...


    à partir de ça il faut commencer par réfléchir à ce que vous voulez stocker comme informations dans la table des présences, par exemple :
    id_utilisateur
    presence
    1 25/08 matin
    2 24/08 après midi
    2 25/08 matin
    2 25/08 après midi

    ou peut être qu'il vaut mieux séparer le champ "présence" en 2 champs, 1 champ avec un timestamp et l'autre un booléen "matin / après-midi".
    que vous voulez faire ensuite avec ces données ?

  5. #5
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2022
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2022
    Messages : 17
    Par défaut
    Dans la table 'presences' je souhaite stocker les noms, prénoms, presenceMatin et presenceAprem de manière à pouvoir les ré-afficher une à l'aide d'un tableau dynamique.
    Les présences sont saisies grâce à des checkbox.

    S'il existe des enregistrements dans la table presences pour la journée sélectionnée, je génère le tableau à partir de la table présences(nom, prenom, matin, aprem). Sinon, j'édite une liste à partir de la liste des utilisateurs pour saisir une nouvelle journée.
    Voici le code pour récupérer les données et générer le tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php $req = $bddConnect->query("SELECT * FROM stagiaires WHERE groupe = '$groupe' ") ; ?>
               <?php $presences = $req->fetchAll(); ?>
     
     
     
                <?php foreach ($presences as $presence) : 
                         $nom=$presence['nom'];
                         $prenom=$presence['prenom'];
                         $matin=0;
                         $aprem=0;
     
                  ?>
                  <?php echo $tableauPresences ->input($nom,$prenom,$matin,$aprem) ?>
                  <?php endforeach ?>

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 602
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Il ne faut évidemment pas créer de redondance en stockant dans la table des présences les noms, prénoms et autres attributs déjà présents dans la table des personnes.
    Dans une base relationnelle, les seules redondances autorisées sont les clefs étrangères

    Avant de se focaliser sur les tables, il faut toujours commencer par réfléchir aux règles de gestion et à la modélisation conceptuelle qui en découle.

    A priori les règles de gestion sont :
    R001 : une personne peut être présente à plusieurs sessions
    R002 : à une session peuvent être présentes plusieurs personnes

    On a donc, au niveau conceptuel, un cas typique d'association de cardinalité maximale n de part et d'autre :
    [PE_PERSONNE] 0,n --- (PA_participer) --- 0,n [SE_SESSION]

    Ce faisant, au niveau tabulaire, on aura 3 tables : les personnes, les sessions et la table associative ayant pour PK l'identifiant de la personne et l'identifiant de la session.
    Les tables sont donc (PK soulignées, FK suffixées #)
    PE_PERSONNE : (PE_ident, PE_nom, PE_prenom, PE_ddn...)
    SE_SESSION : (SE_ident, SE_dtdeb, SE_dtfin)
    PA_PARTICIPER : (PE_ident#, SE_ident#)
    Comme toujours, la PK de la table associative est composée des FK héritées des types d'entité au niveau conceptuel

Discussions similaires

  1. Récupération des noms de champs d'une table
    Par Battomura dans le forum SQL
    Réponses: 2
    Dernier message: 24/03/2003, 10h00
  2. Trouver le dernier enregistrement d'une table
    Par remi59 dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/03/2003, 14h54
  3. Erreur lors de modification d'une table
    Par seb.49 dans le forum SQL
    Réponses: 11
    Dernier message: 13/01/2003, 17h16
  4. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05
  5. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/09/2002, 13h55

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