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

Bibliothèques et frameworks PHP Discussion :

mkframework: problème de modification,suppression dans ma table


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 28
    Points
    28
    Par défaut mkframework: problème de modification,suppression dans ma table
    Bonjour à tous je suis débutant sur le mkframework, je but sur une situation

    Voici j'ai cette table ETUDIANT(#Matricule,Nom,Prenoms,DateNaissance,LieuNaissance).
    Quand je creer mon module inscription avec le CRUD, les menu "Edit et Delete" pour modifier ou supprimer ne fonctionne pas. mais quand je met un identifiant automatique
    Ex:ETUDIANT(#id,Matricule,Nom,Prenoms,DateNaissance,LieuNaissance), tous fonctionne parfaitement. donc j'arrive à modifier et supprimer les enregistrements.
    Question: Moi je désire maintenir Matricule comme clé primaire {ETUDIANT(#Matricule,Nom,Prenoms,DateNaissance,LieuNaissance)} sans auto_increment. comment doit-je faire pour resourdre le problème?

    bon week end!

  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,
    En effet la classe par defaut ne permet pas de ne pas avoir de clé primaire non incremental, par defaut la classe supprime de la liste des champs l'id de la table

    voici deux classes model et row qui devrait regler votre soucis

    Deux choses:
    1. Changer l'appel à la classe abstraite de vos classes model
    2. ajouter champ id dans votre fichier module


    Par exemple, voici une appli qui utilise ces deux classes abstraites, ici l'id est le champ nom

    Vous noterez l'heritage de la classe abstraite
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    class model_auteur extends abstract_modelnoincrement{
     
    	protected $sClassRow='row_auteur';

    et

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class row_auteur extends abstract_rownoincrement{
     
    	protected $sClassModel='model_auteur';

    Et la presence du champ de cle primaire dans la methode processSave()
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $iId=_root::getParam('id',null);
    		if($iId==null){
    			$oAuteur=new row_auteur;	
    		}else{
    			$oAuteur=model_auteur::getInstance()->findById( _root::getParam('id',null) );
    		}
     
    		$tColumn=array('nom','prenom');
    		foreach($tColumn as $sColumn){
    			$oAuteur->$sColumn=_root::getParam($sColumn,null) ;
    		}
    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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 28
    Points
    28
    Par défaut remarque
    Bonjour cher ami imikado,
    j'ai déployer votre exemple sur mon serveur. La suppression ça marche, la modification du prénoms aussi. mais par contre, je ne peux pas modifier le nom (identifiant).
    bonne après midi 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 en effet, je n'ai pas prevu ce cas la

    vous voulez egalement pouvoir modifier l'id ? ça va etre plus compliquer, la il va falloir faire du specifique

    pourquio dans ce cas la ne pas avoir un id numerique "mecanique" pour simplifier la gestion des enregistrements ?
    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
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 28
    Points
    28
    Par défaut Quelques préocupations
    Bonjour imikado;

    j'ai encore 3 petites préocupations:

    1- Valeur du combo
    en effet je voudrais faire ceci. récupérer dans value des options "l'id" de mon champ et dans option le "libellé" avec mkframework

    Exemple:
    <select>
    <option value="id">libelle</option>
    </select>


    2- comment à partir d'un formulaire, plusieurs tables de la base de données peuvent être renseignées en même temps quand on clique sur le bouton. comment modifier le main pour qu'il gère cela


    3- Afficher une image de la base de donnés dans la vue show par exemple

    cordialement !

  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
    Pour le 1, il faut utiliser la methode getSelect() du plugin_form

    celui-ci prend le nom du champ ainsi qu'un tableau associatif indexé avec l'id et le libellé en valeur

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    $tSelect=model_maTable::getInstance()->getSelect();
     
    $oForm=new plugin_form();
    $oForm->getSelect('monCHamp',$tSelect);

    Pour la méthode getSelect(), dans la classe model_maTable.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public function getSelect(){
        $tRow=$this->findManySimple('SELECT monId,monLibelle from maTable');
        $tSelect=array();
        foreach($tRow as $oRow){
            $tSelect[$oRow->monId]=$oRow->monLibelle;
        }
        return $tSelect;
     
    }

    2. dans le main, dans la methode "processSave", vous pouvez faire ce que bon vous semble, il suffit d'appeler les methodes presents dans vos fichiers model

    par exemple

    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 processSave(){
        if(false==_root::getRequest()->isPost() ){
            return null;
        }
     
        //appel de mes models
     
        model_maTable::getInstance()->executionRequete1(_root::getParam('monCHamp') );
     
        model_maTable2::getInstance()->executionRequete2(_root::getParam('monCHamp2') );
        (...)
     
     
     
    }

    3.vous faites dans votre model une recuperation de votre enregistremetn en base, vous passer à la vue

    puis dans celle-ci

    Attention : il faut faire à l'enregistrement un base64_encode, par exemple ici enregistré dans le champ monCHampCOntenantMonImage


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="data:image/jpg;base64,<?php $oRow->monCHampCOntenantMonImage;?>"/>
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 28
    Points
    28
    Par défaut congratulation
    merci infiniment

Discussions similaires

  1. Problème "suppression dans une table"
    Par dekalima dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2011, 10h39
  2. suppression dans une table qui contient une clé etrangère
    Par zana74 dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 08/08/2006, 10h58
  3. Problème de suppression dans une table
    Par Splinter dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/10/2005, 10h55
  4. [Debutant]Suppression dans des tables avec contraintes
    Par Roming22 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 26/10/2004, 17h23
  5. Combler les trous lors d'une suppression dans une table
    Par Billybongjoe dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 08/04/2004, 14h02

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