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

MkFramework Discussion :

Problème après un retraitement sur des enregistrements


Sujet :

MkFramework

  1. #21
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Justement je ne sais pas si c'est clair mais l'idée c'est de modifier la méthode save pour faire office de trigger

    Quand on modifie la formation A,
    • dans sa méthode save: on verifie si elle a un/n fils
    • si c'est le cas on appelle la modif du fils
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  2. #22
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    Mais en fait ce ne sont pas les formations qui doivent être liées à la modification mais bien les utilisateurs présents dans ces formations.

    Dans une table formations :
    Quand je crée une formation, je définis si oui ou non elle est liée à une autre formation. Sachant que plusieurs formation peuvent être liées à la même formation.
    Donc :
    A est la formation maîtresse tandis que B et C sont des formations liées.

    Dans une table utilisateurs :
    Je crée chaque utilisateur avec ces données complètes.

    Dans une table de liaison :
    J'ajoute un utilisateur et une formation (liée ou non). Dans le cas ou l'utilisateur désire faire tous les modules d'une formation, il se retrouve donc dans la formation A, B et C. Dans dans l'enregistrement dans cette table, je dois identifier l'utilisateur ET la formation par leur id pour les retrouver.

    Donc moi ce que j'imaginais jusque maintenant c'était un système du style :
    Pour l'exemple : La formation A, B et C sont liées et User est inscrit dans ces trois formations. Nous désirons modifier les données de User.

    Je rentre par exemple dans la formation B et je veux modifier le commentaire du User. Je valide ce changement :
    Je récupère l'id de User.
    Je récupère les 3 id des formations A,B et C.
    Puis j'update à la chaine les 3 enregistrements dans la table.

  3. #23
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Il faudrait des exemples de la structure des tables pour comprendre quels champs sont mis à jour

    car la, de ce que je comprend il y a des doublons dans les données, non ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  4. #24
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    En effet, cela n'est pas optimum et il y a quelques doublons dans les données.

    Voici la table des modules de formations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    --
    -- Structure de la table `t_modules_pmtic`
    --
     
    CREATE TABLE IF NOT EXISTS `t_modules_pmtic` (
      `id_module_pmtic` int(11) NOT NULL AUTO_INCREMENT,
      `intitule_module_pmtic` varchar(50) NOT NULL,
      PRIMARY KEY (`id_module_pmtic`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
    Voici la structure de la table des Formations qui est liée avec la table modules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    --
    -- Structure de la table `t_pmtic`
    --
     
    CREATE TABLE IF NOT EXISTS `t_pmtic` (
      `id_pmtic` int(11) NOT NULL AUTO_INCREMENT,
      `intitule_pmtic` varchar(255) NOT NULL,
      `id_type_formation` int(11) NOT NULL,
      `date_debut_pmtic` date NOT NULL,
      `date_fin_pmtic` date NOT NULL,
      `salle_pmtic` varchar(50) NOT NULL,
      `nbr_min_inscrit_pmtic` int(2) NOT NULL,
      `nbr_max_inscrit_pmtic` int(2) NOT NULL,
      `couleur_pmtic` varchar(6) NOT NULL,
      `documents_necessaires_pmtic` longtext NOT NULL,
      `commentaire_pmtic` longtext NOT NULL,
      `nbr_heures_pmtic` int(2) NOT NULL,
      `parent_module_pmtic` int(11) DEFAULT NULL,
      `id_module_pmtic` int(11) NOT NULL,
      `annule_pmtic` int(1) NOT NULL,
      `archive_pmtic` int(1) NOT NULL,
      PRIMARY KEY (`id_pmtic`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
    Les participants à toutes nos formations (pas uniquement les PMTIC) sont gérés dans cette table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    --
    -- Structure de la table `t_participants`
    --
     
    CREATE TABLE IF NOT EXISTS `t_participants` (
      `id_participant` int(11) NOT NULL AUTO_INCREMENT,
      `nom_participant` varchar(100) NOT NULL,
      `prenom_participant` varchar(50) NOT NULL,
      `registre_national_participant` varchar(15) NOT NULL,
      `genre_participant` varchar(1) NOT NULL,
      `date_naissance_participant` date NOT NULL,
      `mail_participant` varchar(100) NOT NULL,
      `telephone_participant` varchar(12) NOT NULL,
      `gsm_participant` varchar(13) NOT NULL,
      `adresse_participant` varchar(100) NOT NULL,
      `id_code_postal` int(11) NOT NULL,
      `statut_participant` varchar(50) NOT NULL,
      `numero_demandeur_emploi_participant` varchar(20) NOT NULL,
      `date_inscription_forem_participant` date NOT NULL,
      `diplome_participant` varchar(50) NOT NULL,
      `id_nationalite` int(11) NOT NULL,
      `situation_familiale_participant` varchar(20) NOT NULL,
      `nbr_enfants_participant` int(2) NOT NULL,
      `numero_compte_bancaire_participant` varchar(25) NOT NULL,
      `domaine_emploi_recherche_participant` varchar(255) NOT NULL,
      `tablette_participant` int(1) NOT NULL,
      `droit_image_participant` int(1) NOT NULL,
      `comment_informe_participant` varchar(255) NOT NULL,
      `commentaires_participant` longtext NOT NULL,
      PRIMARY KEY (`id_participant`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
    Et voici la table des participants à nos modules PMTIC :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    --
    -- Structure de la table `t_participants_pmtic`
    --
     
    CREATE TABLE IF NOT EXISTS `t_participants_pmtic` (
      `id_participant_pmtic` int(11) NOT NULL AUTO_INCREMENT,
      `id_participant` int(11) NOT NULL,
      `id_pmtic` int(11) NOT NULL,
      `date_rdv_test_participant_pmtic` date NOT NULL,
      `formateur_inscription_participant_pmtic` varchar(50) NOT NULL,
      `validation_date_test_participant_pmtic` date DEFAULT NULL,
      `formateur_validation_participant_pmtic` varchar(20) DEFAULT NULL,
      `date_rappel_participant_pmtic` date DEFAULT NULL,
      `formateur_rappel_participant_pmtic` varchar(20) DEFAULT NULL,
      `commentaire_participant_pmtic` longtext,
      `id_pmtic_maitre` int(11) NOT NULL,
      PRIMARY KEY (`id_participant_pmtic`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=177 ;
    Donc dans dans un premier temps :
    1 - J'ai créé des modules
    2 - Je crée des formation à partir des modules, et lors de la création je les lies entre elles
    3 - J'ajoute des utilisateurs généraux dans ma table

    Ensuite :
    Lorsque je veux inscrire un utilisateur général à une formation (non liée), je l'encode dans la table t_participants_pmtic ce qui génère un enregistrement.
    Par contre si le participant veut s'inscrire à une formation liée (formation A,B et C), alors il y a 3 enregistrements presqu'identique qui sont créés. Donc quand je désire modifier par la suite les informations de cet utilisateurs pour les 3 formations, c'est là que je coince.

    Je ne sais pas si je suis clair en fait

    Edit : En fait mon souci est assez simple, car j'ai un message d'erreur identique à mon tout premier message dans ce post chaque fois que je veux faire une requête dans la page main.php du module t_participants_pmtic. Je dois surement faire un truc de travers ou avoir loupé une subtilité.

  5. #25
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Désolé pas de temps ce soir, je regarde demain

    Pour info le framework propose désormais un market permettant à la fois de mettre à jour ses extensions ET (nouveau) d'installer des nouvelles sans passer par le site pour récuperer le zip "total"

    Suivrons des news sur cette nouveauté ainsi que des tutoriaux pour participer à son amélioration
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  6. #26
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    Ok merci pour les infos

  7. #27
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Premier jet pour bien comprendre l'idée globale
    vous devez copier ce projet dans votre repertoire data/genere et modifier le fichier connexion.ini bien sur
    Fichiers attachés Fichiers attachés
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  8. #28
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Si déjà globalement j'ai suivi on va pouvoir passer à cette histoire de formation liée
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  9. #29
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    Voilà, j'ai installé votre zip, j'ai actuellement une page pour gérer les formations, et une page qui me permet de gérer les utilisateurs(participants généraux du centre).

  10. #30
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Et lorsque vous cliquez sur le bouton "show" d'un participant vous pouvez l'assigner à une formation
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  11. #31
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    Oui, je peux assigner un participant à une formation

  12. #32
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Donc à partir de ce projet (fourni en zip) que manque-t-il ?
    c'est plus simple pour moi de faire évoluer un projet qu'on se partage comme ici
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  13. #33
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    En fait je viens de me rendre compte que dans votre exemple, vous entrez dans la fiche d'un participant pour ajouter des formations alors que moi je rentre dans une formation pour y ajouter un participants. D'où mon besoin lorsque j'édite un participant de modifier plusieurs enregistrements.

    Admettons que j'ai 1 formations modulaire qui peut, soit être suivie dans son intégralité, soit être suivie en 3 modules indépendant.
    Je crée donc une première formation que je nomme "Débutant", une autre que je nomme "Avancé" et une dernière que je nomme "Expert".
    La formation "Débutant" est ma formation maîtresse, les 2 autres vont lui être liées.

    Lorsque j'inscris un participant à une de ses 3 formations, je propose le formulaire suivant :
    Nom : 2015-11-05 16_29_15.png
Affichages : 46
Taille : 6,2 Ko

    Si on valide ce formulaire, l'utilisateur est inscrit dans mes 3 modules.

    Maintenant si je veux éditer un utilisateur inscrit à ces 3 modules, il faut que je modifie en même temps les 3 enregistrements. C'est là où je coince.

  14. #34
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Ok, là je comprends mieux

    Je vous fait une proposition dans la soirée
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  15. #35
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    La on doit pas etre loin de la cible:

    on entre ici par formation, et non plus participant

    sur une formation A qui possede uen formation liée:
    on clique sur show pour voir la formation, on ajoute un participant, et à l'enregistrement on duplique cet enregistrement sur les formations "enfant"
    Fichiers attachés Fichiers attachés
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  16. #36
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    Merci,

    Nous sommes en effet sur la bonne voie ! Maintenant, je désire éditer un participants qui est inscrit dans 3 modules liés. Lorsque j'edit le commentaire de cet utilisateur pour un module, il doit aller modifier les 2 autres également.

    P.S. : Petite info, dans mon système j'effectue un retraitement sur les dates, et c'est là que cela me pose problème avec l'édition.

  17. #37
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Vous pouvez "juste" reposter les manips demandées pour la gestion de date, ça devrait etre assez simple à ajouter

    en suivant par exemple cette page:
    http://mkframework.com/orm.html#automatiserretraitement

    si elle est incomplète je rajouterai les conseils ici sur cette page afin d'enrichir cette doc
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  18. #38
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2015
    Messages : 70
    Points : 29
    Points
    29
    Par défaut
    Houla ...

    C'est pas si simple que cela, ça remonte déjà loin et j'ai du fortement modifier le tout pour que ça colle avec mes besoins.
    Laissons tomber ce sujet, j'ai bidouiller quelque chose (même si ce n'est pas très catholique) et cela fonctionne.

    Merci tout de même pour toute l'aide apportée à ce poste, cela m'a permis tout de même de pouvoir me débloquer !

  19. #39
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Oki pas de soucis, je cloture donc ce topic
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. ORM : Automatiser un retraitement sur des enregistrements
    Par llaffont dans le forum MkFramework
    Réponses: 13
    Dernier message: 10/09/2015, 12h46
  2. Réponses: 11
    Dernier message: 06/03/2015, 15h55
  3. Calcul de données present sur des enregistrements different
    Par logistik dans le forum Langage SQL
    Réponses: 6
    Dernier message: 04/05/2005, 16h33
  4. Réponses: 8
    Dernier message: 24/08/2004, 22h25
  5. Réponses: 9
    Dernier message: 17/01/2004, 10h51

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