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 :

delete sur deux table liée


Sujet :

MkFramework

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut delete sur deux table liée
    Bonjour,

    J'ai fait une application avec MKFramework il y a 3 ans et depuis je n'ai pas travaillé dessus car elle satisfaisait tout le monde.
    Merci MK!

    Je ne sais pas comment supprimer une ligne dans une table (classes) et en m^me temps le supprimer toutes les lignes liée sur un autre table (ClassesUsers)
    Cette dernière fait le lien entre les élèves, prof et leur classe. id ; user-id ; classe_id

    Dans mon module classes
    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
    public function _delete(){
    		$tMessage=$this->delete();
     
    		$oClasses=model_classes::getInstance()->findById( _root::getParam('id') );
     
     
    		$oView=new _view('classes::delete');
    		$oView->oClasses=$oClasses;
     
    				$oView->tJoinmodel_ateliers=model_ateliers::getInstance()->getSelect();
     
    		$oPluginXsrf=new plugin_xsrf();
    		$oView->token=$oPluginXsrf->getToken();
    		$oView->tMessage=$tMessage;
     
    		$this->oLayout->add('main',$oView);
    	}
    dans mon model classesUsers j'ai la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public function findByClasseId($classe_id){
        	return $this->findMany('SELECT * FROM '.$this->sTable.' WHERE classe_id=? ',$classe_id );
    	}
    J'ai bien pensé qu'il falait que j'ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $oClassesUsers=model_classesUsers::getInstance()->findByClasseId( _root::getParam('id') );
    Mais de quelle manière? Je sais pas.

    Pourrai-je avoir de l'aide afin modifier la fonction delete du module classes SVP

  2. #2
    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
    Bonjour,
    Oui vous pouvez commencer par supprimer les liens classesUsers avant de supprimer la classe

    Code php : 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
    public function _delete(){
    		$tMessage=$this->delete();
     
    		$oClasses=model_classes::getInstance()->findById( _root::getParam('id') );
     
     
    		$oView=new _view('classes::delete');
    		$oView->oClasses=$oClasses;
     
    				$oView->tJoinmodel_ateliers=model_ateliers::getInstance()->getSelect();
     
    		$oPluginXsrf=new plugin_xsrf();
    		$oView->token=$oPluginXsrf->getToken();
    		$oView->tMessage=$tMessage;
     
    		$this->oLayout->add('main',$oView);
    	}

    VOus pouvez copier-coller votre methode "delete", c'est elle qui fait l'action de suppression

    On va dire qu'elle ressemble à peu près à cela:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public function delete(){
       $oClasses=model_classes::getInstance()->findById( _root::getParam('id') );
     
       //on boucle sur les enfants pour les supprimer
       $tClassesUsers=model_classesUsers::getInstance()->findByClasseId( _root::getParam('id') );
       if( $tClassesUsers){
         foreach( $tClassesUsers as $oClassUser){
             $oClassUser->delete();
         }
      }
      //puis on supprime la classe :)
      $oClasses->delete();
     
    }
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    C'est pas très clair la réponse pour moi. quand vous dites:
    "Oui vous pouvez commencer par supprimer les liens classesUsers avant de supprimer la classe"
    JE ne comprend pas ce que je dois supprimer. Quel lien?

    Et puis vous me présenter deux fonctions
    public function _delete() et public function delete()
    Est-ce les même?
    Si non est-ce bien dans le fichier main que je doit les coller?

    Cordialement

  4. #4
    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
    Oui c'est bien dans le fichier main.php, dans la methode "delete" pour être exact

    à l'endoit ou vous avez la suppression de l'objet classe

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $oClasses=model_classes::getInstance()->findById( _root::getParam('id') );
     
       //on boucle sur les enfants pour les supprimer
       $tClassesUsers=model_classesUsers::getInstance()->findByClasseId( _root::getParam('id') );
       if( $tClassesUsers){
         foreach( $tClassesUsers as $oClassUser){
             $oClassUser->delete();
         }
      }
      //puis on supprime la classe :)
      $oClasses->delete();

    Ainsi vous comprenez mieux ?
    n'hesitez pas si vous rencontrez un soucis
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    Merci encore mille fois MK.

    A bientôt et bon courage

  6. #6
    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
    Pas de soucis
    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.

Discussions similaires

  1. Faire un select test sur deux tables non liées
    Par dev14 dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/01/2014, 12h11
  2. Delete avec jointure sur deux tables
    Par cecilebh dans le forum SQL
    Réponses: 10
    Dernier message: 28/03/2011, 17h10
  3. [AC-2007] Requête sélection sur deux tables liées
    Par rogerfon dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 10/04/2010, 14h30
  4. [MySQL] Requête sur deux tables liées
    Par vinze60 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 08/09/2009, 14h04
  5. delete sur deux table
    Par kitty2006 dans le forum Administration
    Réponses: 7
    Dernier message: 25/09/2006, 10h05

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