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 :

le Nom de ma table en base ou le nom du Module Pose problème ?


Sujet :

MkFramework

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 678
    Points : 953
    Points
    953
    Par défaut le Nom de ma table en base ou le nom du Module Pose problème ?
    Bonsoir Imikado

    depuis hier nous sommes confronté a un problème. on a repris plusieurs la procédure fois mais le problème persiste.
    je m'explique
    1-création de la couche modèle
    2-création du module CRUD Guriddo
    je met une capture d'écran :
    Nom : Capture1000.JPG
Affichages : 120
Taille : 67,3 Ko
    Quand on lance la page http://127.0.0.1/mkframework/data/ge...Gurido/public/ pas de problème on a seulement le module default qui se lance avec affiché vue index.
    Mais par contre quand on clique sur le lien dans le builder Pour y accéder cliquer ici (index.php?:nav=T_FILIERE::index)
    Voici le message d'erreur:
    include(../module/T/FILIERE/main.php): failed to open stream: No such file or directory
    #0 C:\wamp\www\mkframework\data\genere\MonAppliGurido\plugin\plugin_autoload.php(16): exception_error_handler(2, 'include(../modu...', 'C:\\wamp\\www\\mkf...', 16, Array)
    #1 C:\wamp\www\mkframework\data\genere\MonAppliGurido\plugin\plugin_autoload.php(16): plugin_autoload::autoload()
    #2 [internal function]: plugin_autoload::autoload('module_T_FILIER...')
    #3 C:\wamp\www\mkframework\lib\framework\class_root.php(228): spl_autoload_call('module_T_FILIER...')
    #4 C:\wamp\www\mkframework\data\genere\MonAppliGurido\public\index.php(47): _root->run()
    #5 {main}
    Detail:
    #0 C:\wamp\www\mkframework\data\genere\MonAppliGurido\plugin\plugin_autoload.php (16)
    exception_error_handler( , 'include(../module/T/FILIERE/main.php): failed to open stream: No such file or directory' , 'C:\wamp\www\mkframework\data\genere\MonAppliGurido\plugin\plugin_autoload.php' , , Array ( [sClass] => module_T_FILIERE [tab] => Array ( [1] => T [2] => FILIERE ) ) )
    #1 C:\wamp\www\mkframework\data\genere\MonAppliGurido\plugin\plugin_autoload.php (16)
    plugin_autoload :: autoload( )
    #2 plugin_autoload :: autoload( 'module_T_FILIERE' )
    #3 C:\wamp\www\mkframework\lib\framework\class_root.php (228)
    spl_autoload_call( 'module_T_FILIERE' )
    #4 C:\wamp\www\mkframework\data\genere\MonAppliGurido\public\index.php (47)
    _root -> run( )
    #5 {main}
    -------------------------------------
    Fichier : C:\wamp\www\mkframework\data\genere\MonAppliGurido\plugin\plugin_autoload.php ligne 16

    Message : include(../module/T/FILIERE/main.php): failed to open stream: No such file or directory
    Nous avons comme l'impression que le nom de notre table pose problème (a cause de l'élément que j'ai souligné en rouge).
    je rappelle aussi que je suis sous Firebird.
    La table a pour nom en Base T_FILIERE du coup on a gardé aussi le même nom pour le Module.
    On a fait un essai avec une table n'ayant pas de _ dans le nom mais au lancement page.

    Merci de nous éclairer

  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,
    Le problème ne vient pas de la table mais du nom du module, enlever le "_" au nom du module et le problème sera réglé

    Depuis quelques versions, on peut organiser/ranger ses modules dans des sous repertoires
    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Utilisateur/
    - infos/
    Admin
    - gestionEmails
    Et pour cela on utilise le "_" pour indiquer les répertoires sous repertoire
    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
    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
    Ou vous pouvez désactiver cette fonctionnalité (bien pratique si vous avez beaucoup de module)
    en changeant le module de chargement de classe

    editez le fichier public/index.php de votre projet et remplacez
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    spl_autoload_register(array('plugin_autoload','autoload'));

    par
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    spl_autoload_register(array('_root','autoload'));
    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. #4
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 678
    Points : 953
    Points
    953
    Par défaut
    ok je vais revoir tout ça et faire un retour.
    Merci

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 678
    Points : 953
    Points
    953
    Par défaut
    Citation Envoyé par imikado Voir le message
    Bonjour,
    Le problème ne vient pas de la table mais du nom du module, enlever le "_" au nom du module et le problème sera réglé

    Depuis quelques versions, on peut organiser/ranger ses modules dans des sous repertoires
    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Utilisateur/
    - infos/
    Admin
    - gestionEmails
    Et pour cela on utilise le "_" pour indiquer les répertoires sous repertoire
    Ok c'est bien ce que je m'étais dit ! j'ais donc repris mais cette fois en changeant le nom de mon module :

    Module MAFILIERE généré avec succès

    Création repertoire module/MAFILIERE
    Création repertoire module/MAFILIERE/view
    Création fichier module/MAFILIERE/main.php
    Création fichier module/MAFILIERE/view/list.php
    mais le lien suivant me donne une page vide : http://127.0.0.1/mkframework/data/ge...FILIERE::index

    Ya un truc qui va pas !

    Merci

  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
    Question tout bête : c'est bien un module et non un module "intégrable"

    y a t'il une erreur dans le fichier AppliGuirido/data/log ?
    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
    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
    Une chose toute bête: que donner l'url http://127.0.0.1/mkframework/data/ge...AFILIERE::list

    vous avez décochez certaines cases du CRUD et je pense que le lien affiché dans le builder est par défaut sur l'action "index" qui n'existe peut etre pas si on décoche certaines taches.
    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. #8
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 678
    Points : 953
    Points
    953
    Par défaut
    Citation Envoyé par imikado Voir le message
    Question tout bête : c'est bien un module et non un module "intégrable"
    je suis pas trop ?? j'ai tout simplement suivit le tutorial donc je suppose que c'est un module CRUD.

    Citation Envoyé par imikado Voir le message
    y a t'il une erreur dans le fichier AppliGuirido/data/log ?
    Je n'ai aucun fichier dans le repertoire.

    Merci

  9. #9
    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 c'est un CRUD Guriddo c'est bien un module "normal", avez-vous décoché des cases ?
    avez-vous testé l'adresse http://127.0.0.1/mkframework/data/ge...AFILIERE::list ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  10. #10
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 678
    Points : 953
    Points
    953
    Par défaut
    Citation Envoyé par imikado Voir le message
    SI c'est un CRUD Guriddo c'est bien un module "normal", avez-vous décoché des cases ?
    A mon avis je pense avoir suivi le tutoriel à lettre. Donc je n'ai rien décocher (il y aurai un option décoché qui pourrait créer dysfonctionnement ?)

    Citation Envoyé par imikado Voir le message
    Nom : Capture22.JPG
Affichages : 149
Taille : 22,7 Ko

    Voila ce que j'ai au test de cette adresse.
    En regardant la liste des fichiers dans mon module MAFILIERE je n'ai que :

    List.php dans views es normal ?

    Merci

  11. #11
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 678
    Points : 953
    Points
    953
    Par défaut
    je viens de remarquer une chose a la création du module on a le message suivant :
    Module MAFILIERE généré avec succès

    Création repertoire module/MAFILIERE
    Création repertoire module/MAFILIERE/view
    Création fichier module/MAFILIERE/main.php
    Création fichier module/MAFILIERE/view/list.php

    Pour y accéder cliquer ici (index.php?:nav=MAFILIERE::index)
    Malgré que toute les cases soient cochées voir capture
    Nom : Capture999.JPG
Affichages : 157
Taille : 40,2 Ko
    seule :
    Création fichier module/MAFILIERE/view/list.php est crée es normale ?
    Je continu mes investigations.

    Merci

  12. #12
    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
    Question toute bête:
    Vous avez créé un projet "normal" ou bootstrap ?

    Vous avez une page totalement blanche ? vous pouvez regardez dans le code source pour savoir si quelquechose est affiché quand même
    Vous pouvez regardez également si vous n'avez pas une erreur javascript ?
    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. #13
    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
    Je refais un test
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  14. #14
    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
    Je viens de refaire le test avec une application "normale" pas bootstrap, pas de problème.

    D'après vos screenshot il charge quand même le layout, on voit un grand cadre.
    Pouvez vous regarder le code source de la page pour voir si il n'y a pas d'erreur
    Idem pour les éventuelles erreur javascripts
    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. #15
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 678
    Points : 953
    Points
    953
    Par défaut
    Citation Envoyé par imikado Voir le message
    Question toute bête:
    Vous avez créé un projet "normal" ou bootstrap ?
    j'ai créer un projet normal vide

    Citation Envoyé par imikado Voir le message
    Vous avez une page totalement blanche ?
    j'ai la page qui s'affiche comme dans la capture d'écran

    Citation Envoyé par imikado Voir le message
    vous pouvez regardez dans le code source pour savoir si quelque chose est affiché quand même
    Vous pouvez regardez également si vous n'avez pas une erreur javascript ?
    je vais reprendre complétement cette nuit et vous faire une retour. je pense que je vais vous poster le code source de la page. Parce que je ne sais pas comment deceller les erreurs javascript.

    merci

  16. #16
    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 vous êtes sous chrome, en appuyant sur la touche F12 vous voyez une fenêtre s'afficher, cliquez sur l'onglet "console" comme dans la capture
    Nom : guriddoChromeJs.jpg
Affichages : 110
Taille : 36,5 Ko
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  17. #17
    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
    Autre question: vous avez bien récupéré la version sur le site et non une version du module guriddo que vous aviez deja ?
    Je dis cela car il y a de nouvelles méthodes dans la version en ligne nécessaire ici pour faire le CRUD
    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. #18
    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
    J'ai créé une rapide vidéo au cas où un élément ne serait pas claire sur le tutoriaux écrit


    Je ferais une vidéo screencast "normal" avec son.. plus tard
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  19. #19
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 678
    Points : 953
    Points
    953
    Par défaut
    Bonjour Imikado
    Je viens de terminer mes tests mais je suis toujours au meme stade :
    1- téléchargement de la version 283 du Framework
    2- suivi de la tuto vidéo (création application vide, téléchargement du module Guiriddo sur le site)
    3- générer le couche modèle avec une nouvelle table
    4- gérération du module CRUD Guirido
    Module MONPROJET généré avec succès

    Création repertoire module/MONPROJET
    Création repertoire module/MONPROJET/view
    Création fichier module/MONPROJET/main.php
    Création fichier module/MONPROJET/view/list.php

    Pour y accéder cliquer ici (index.php?:nav=MONPROJET::index)
    5- Test de la page : http://127.0.0.1/mkframework/data/ge...NPROJET::index
    Toujours page blanche avec cadre

    Voici le code source de ma couche modèle
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
    <?php
    class model_MONPROJET extends abstract_model{
     
    	protected $sClassRow='row_MONPROJET';
     
    	protected $sTable='MONPROJET';
    	protected $sConfig='firebirdExple';
     
    	protected $tId=array('CODEPROJET');
     
    	public static function getInstance(){
    		return self::_getInstance(__CLASS__);
    	}
     
    	public function findById($uId){
    		return $this->findOne('SELECT * FROM '.$this->sTable.' WHERE CODEPROJET=?',$uId );
    	}
    	public function findAll(){
    		return $this->findMany('SELECT * FROM '.$this->sTable);
    	}
    //methode listant le nombre total d'enregistrements
        public function findTotal(){
            $oRow=$this->findOneSimple('SELECT count(*) as total FROM '.$this->sTable);
            return $oRow->total;
        }
     
    //methode retournant les enregistrements trie et pagine
        public function findListLimitOrderBy($start,$limit,$sField,$side){
            return $this->findManySimple('SELECT * FROM '.$this->sTable.' ORDER BY '.$sField.' '.$side.' LIMIT '.$start.','.$limit);
        }
     //methode listant le nombre total d'enregistrements
        public function findTotalFiltered($tFilter){
            foreach($tFilter as $sField => $sValue){
                $tWhere[]=$sField.'=?';
                $tValue[]=$sValue;
            }
            $oRow=$this->findOneSimple('SELECT count(*) as total FROM '.$this->sTable.' WHERE  '.implode('AND',$tWhere).'',$tValue);
            return $oRow->total;
        }
     //methode listant le nombre total d'enregistrements
        public function findListFilteredAndLimitOrderBy($tFilter,$start,$limit,$sField,$side){
            foreach($tFilter as $sField => $sValue){
                $tWhere[]=$sField.'=?';
                $tValue[]=$sValue;
            }
            return $this->findManySimple('SELECT * FROM '.$this->sTable.' WHERE  '.implode('AND',$tWhere).' ORDER BY '.$sField.' '.$side.' LIMIT '.$start.','.$limit,$tValue);
        }
     
    	public function getSelect(){
    		$tab=$this->findAll();
    		$tSelect=array();
    		if($tab){
    		foreach($tab as $oRow){
    			$tSelect[ $oRow->CODEPROJET ]=$oRow->NOMPROJET;
    		}
    		}
    		return $tSelect;
    	}
     
     
     
    }
     
    class row_MONPROJET extends abstract_row{
     
    	protected $sClassModel='model_MONPROJET';
     
    	/*exemple jointure
    	public function findAuteur(){
    		return model_auteur::getInstance()->findById($this->auteur_id);
    	}
    	*/
    	/*exemple test validation*/
    	private function getCheck(){
    		$oPluginValid=new plugin_valid($this->getTab());
     
     
    		/* renseigner vos check ici
    		$oPluginValid->isEqual('champ','valeurB','Le champ n\est pas &eacute;gal &agrave; '.$valeurB);
    		$oPluginValid->isNotEqual('champ','valeurB','Le champ est &eacute;gal &agrave; '.$valeurB);
    		$oPluginValid->isUpperThan('champ','valeurB','Le champ n\est pas sup&eacute; &agrave; '.$valeurB);
    		$oPluginValid->isUpperOrEqualThan('champ','valeurB','Le champ n\est pas sup&eacute; ou &eacute;gal &agrave; '.$valeurB);
    		$oPluginValid->isLowerThan('champ','valeurB','Le champ n\est pas inf&eacute;rieur &agrave; '.$valeurB);
    		$oPluginValid->isLowerOrEqualThan('champ','valeurB','Le champ n\est pas inf&eacute;rieur ou &eacute;gal &agrave; '.$valeurB);
    		$oPluginValid->isEmpty('champ','Le champ n\'est pas vide');
    		$oPluginValid->isNotEmpty('champ','Le champ ne doit pas &ecirc;tre vide');
    		$oPluginValid->isEmailValid('champ','L\email est invalide');
    		$oPluginValid->matchExpression('champ','/[0-9]/','Le champ n\'est pas au bon format');
    		$oPluginValid->notMatchExpression('champ','/[a-zA-Z]/','Le champ ne doit pas &ecirc;tre a ce format');
    		*/
     
    		return $oPluginValid;
    	}
     
    	public function isValid(){
    		return $this->getCheck()->isValid();
    	}
    	public function getListError(){
    		return $this->getCheck()->getListError();
    	}
    	public function save(){
    		if(!$this->isValid()){
    			return false;
    		}
    		parent::save();
    		return true;
    	}
     
    }

    Code du Main de mon module MONPROJET
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
     
    <?php 
    class module_MONPROJET extends abstract_module{
     
    	public function before(){
    		$this->oLayout=new _layout('template1');
     
    		//$this->oLayout->addModule('menu','menu::index');
    	}
     
     
    	public function _index(){
    	    //on considere que la page par defaut est la page de listage
    	    $this->_list();
    	}
     
     
    	public function _list(){
     
    		//instancier le module
    		$oTable=new module_guriddo;
    		//on indique le nombre de lignes par page
    		$oTable->setPaginationLimit(5);
     
    		$oTable->enableAdd(_root::getLink('MONPROJET::postJson'));
    		$oTable->enableEdit(_root::getLink('MONPROJET::postJson'));
    		$oTable->enableShow();
    		$oTable->enableDelete();
     
     
    		//l'id de la div html
    		$oTable->setId('CODEPROJET');
     
    		//on definit la hauteur du tableau (en pixels)
    		$oTable->setHeight(120);
    		$oTable->setWidth(600);
     
    		//la page permettant de retourner le contenu au format json
    		$oTable->setJsonLink('MONPROJET::listJson');
     
    		//on defini (si besoin) un menu deroulant permettant de modifier la pagination
    		$oTable->setListLimit(array(10,20));
     
    		//activer l'alternance des lignes
    		$oTable->enableAltRows();
     
    		//activer la reorganisation des colonnes
    		$oTable->enableSortable();
     
    		//definir le sens par defaut de tri (asc/desc)
    		$oTable->setDefaultSort('desc');
     
    		//defintion du tri par defaut
    		$oTable->setDefaultSortField('CODEPROJET');
     
    		//pour ajouter un group de colonne
    		//$oTable->addGroupColumn('Mon groupe',2,'champDeDepart');
     
     
     
    		 $oTable->addColumn('NOMPROJET','NOMPROJET',null); 
    		 $oTable->addColumn('DATEPROJET','DATEPROJET',null); 
    		 $oTable->addColumn('CODEREP','CODEREP',null); 
     
     
    		$oView= $oTable->build();
     
    		//assigner la vue retournee a votre layout
    		$this->oLayout->add('main',$oView);
     
     
    	}
     
     
     
    	public function _listJson(){
     
    		$oJson=module_guriddo::getJson();
    		//on precise la liste des champs autorise a etre trie
    		$oJson->setSortFieldAllowed(array('CODEPROJET','NOMPROJET','DATEPROJET','CODEREP'));
     
    		if($oJson->hasFilter()){
     
    			$count = model_MONPROJET::getInstance()->findTotalFiltered($oJson->getListFilter());
    			$oJson->setTotal($count);
    			$tData=model_MONPROJET::getInstance()->findListFilteredAndLimitOrderBy($oJson->getListFilter(),$oJson->getStart(),$oJson->getLimit(),$oJson->getSortField(),$oJson->getSortSide());
     
    		}else{
    			$count = model_MONPROJET::getInstance()->findTotal();
    			$oJson->setTotal($count);
    			$tData=model_MONPROJET::getInstance()->findListLimitOrderBy($oJson->getStart(),$oJson->getLimit(),$oJson->getSortField(),$oJson->getSortSide());
    		}
     
     
     
    		$oJson->setData($tData);
     
    		$oJson->setId('CODEPROJET');
    		$oJson->addColumn('CODEPROJET');
    		 $oJson->addColumn('NOMPROJET'); 
     $oJson->addColumn('DATEPROJET'); 
     $oJson->addColumn('CODEREP'); 
     
     
    		$oJson->show();
    	}
     
    	public function _postJson(){
    		if(!_root::getRequest()->isPost() ){ //si ce n'est pas une requete POST on ne soumet pas
    			return null;
    		}
     
    		if(_root::getParam('oper')=='del'){
    			return $this->processDelete();
    		}
     
    		$iId=_root::getParam('id',null);
    		if($iId==null){
    			$oMONPROJET=new row_MONPROJET;	
    		}else{
    			$oMONPROJET=model_MONPROJET::getInstance()->findById( _root::getParam('id',null) );
    		}
     
    		if(!$oMONPROJET){
    			$oMONPROJET=new row_MONPROJET;
    		}
     
     
    		$tColumn=array('NOMPROJET','DATEPROJET','CODEREP');
    		foreach($tColumn as $sColumn){
    			$oMONPROJET->$sColumn=_root::getParam($sColumn,null) ;
    		}
     
     
    		if($oMONPROJET->save()){
    			//une fois enregistre on redirige (vers la page liste)
     
    		}else{
    			return $oMONPROJET->getListError();
    		}
    	}
     
    	private function processSave(){
    		if(!_root::getRequest()->isPost() ){ //si ce n'est pas une requete POST on ne soumet pas
    			return null;
    		}
     
    		$oPluginXsrf=new plugin_xsrf();
    		if(!$oPluginXsrf->checkToken( _root::getParam('token') ) ){ //on verifie que le token est valide
    			return array('token'=>$oPluginXsrf->getMessage() );
    		}
     
    		$iId=_root::getParam('id',null);
    		if($iId==null){
    			$oMONPROJET=new row_MONPROJET;	
    		}else{
    			$oMONPROJET=model_MONPROJET::getInstance()->findById( _root::getParam('id',null) );
    		}
     
    		$tColumn=array('NOMPROJET','DATEPROJET','CODEREP');
    		foreach($tColumn as $sColumn){
    			$oMONPROJET->$sColumn=_root::getParam($sColumn,null) ;
    		}
     
     
    		if($oMONPROJET->save()){
    			//une fois enregistre on redirige (vers la page liste)
    			_root::redirect('MONPROJET::list');
    		}else{
    			return $oMONPROJET->getListError();
    		}
     
    	}
     
     
    	public function processDelete(){
    		if(!_root::getRequest()->isPost() ){ //si ce n'est pas une requete POST on ne soumet pas
    			return null;
    		}
     
     
     
    		$oMONPROJET=model_MONPROJET::getInstance()->findById( _root::getParam('id',null) );
     
    		$oMONPROJET->delete();
    		//une fois enregistre on redirige (vers la page liste)
    		_root::redirect('MONPROJET::list');
     
    	}
     
     
     
    	public function after(){
    		$this->oLayout->show();
    	}
     
     
    }

    code de la vue list.php
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <table class="tb_list">
    	<tr>
     
    		<th>NOMPROJET</th>
     
    		<th>DATEPROJET</th>
     
    		<th>CODEREP</th>
     
    		<th></th>
    	</tr>
    	<?php if($this->tMONPROJET):?>
    		<?php foreach($this->tMONPROJET as $oMONPROJET):?>
    		<tr <?php echo plugin_tpl::alternate(array('','class="alt"'))?>>
     
    		<td><?php echo $oMONPROJET->NOMPROJET ?></td>
     
    		<td><?php echo $oMONPROJET->DATEPROJET ?></td>
     
    		<td><?php echo $oMONPROJET->CODEREP ?></td>
     
    			<td>
     
     
    <a href="<?php echo $this->getLink('MONPROJET::edit',array(
    										'id'=>$oMONPROJET->getId()
    									) 
    							)?>">Edit</a>
    | 
    <a href="<?php echo $this->getLink('MONPROJET::delete',array(
    										'id'=>$oMONPROJET->getId()
    									) 
    							)?>">Delete</a>
    | 
    <a href="<?php echo $this->getLink('MONPROJET::show',array(
    										'id'=>$oMONPROJET->getId()
    									) 
    							)?>">Show</a>		
    			</td>
    		</tr>	
    		<?php endforeach;?>
    	<?php else:?>
    		<tr>
    			<td colspan="4">Aucune ligne</td>
    		</tr>
    	<?php endif;?>
    </table>
     
    <p><a href="<?php echo $this->getLink('MONPROJET::new') ?>">New</a></p>

    La je suis vraiment a l'arrêt et disposé pour d'autres informations.

    Merci

  20. #20
    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
    Pouvez vous poster le code source de votre page "blanche" : le code html pour voir si il n'y a pas une erreur php
    D'ailleurs vous affichez les erreurs php ? si vous faites une faute de syntaxe ou autre, il y a une erreur à l'écran ?

    Votre installation apache/php tourne sur un poste windows ou linux ?

    Il faudrait éditer votre fichier php.ini pour afficher les erreurs php puis redemarrer votre serveur apache:
    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 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/02/2010, 11h33
  2. [MySQL] Nom d'une table de base de donné phpmyadmin dans condition if
    Par Besky49 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 30/01/2010, 12h49
  3. Prendre le nom d'une table de la base en cour
    Par electrosat03 dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/05/2008, 16h36
  4. [Access] Nom d'une table avec un espace dans SQL
    Par Corsaire dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/04/2006, 15h50
  5. Jointure sur 2 tables de bases différentes
    Par Celina dans le forum Langage SQL
    Réponses: 10
    Dernier message: 10/11/2003, 11h56

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