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

Discussion :

Table modifié impossible de modifier un champ


Sujet :

PhpMyObject

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Table modifié impossible de modifier un champ
    Bonjour à tous,
    Je suis tout nouvel utilisateur de PMO et je le trouve, ma foi, fort agréable à utiliser pour un novice comme moi en matière de POO. Par contre j'ai un petit souci qui me rend complètement fou et je pense qu'il doit être facile d'y remédier... mais là j'avoue je galère !
    Je m'explique : j'ai une table news. J'ai un formulaire pour créer des news. Jusque là ca va, ca me créé bien ma news et surtt mon champ : news_visibilite.
    Mais des que je veux modifier cette news, tout fonctionne sauf mon champ news_visibilite... Ce qui est bizarre c que j'ai ajouté ce champ recemment dans la table.... et d'ailleurs des que je créé un nouveau champ, je n'arrive pas le modifier via phpMyObject....

    Ceci ne fonctionne pas :

    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
    <?php
    
    require_once(dirname(__FILE__).'/pmo/PMO_core/PMO_MyController.php');
    require_once(dirname(__FILE__).'/pmo/your_config.php');
    require_once(dirname(__FILE__).'/pmo/class_gestionDonnees.php');	
    
    $utilisateur = PMO_MyObject::factory('mes_news');
    
    $utilisateur->news_id = 34;
    
    $utilisateur->load();
    echo $utilisateur->news_visibilite;
    $utilisateur->news_visibilite = "12";
    $utilisateur->load();
    
    ?>
    Et celui-ci par contre si :


    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
    <?php
    
    require_once(dirname(__FILE__).'/pmo/PMO_core/PMO_MyController.php');
    require_once(dirname(__FILE__).'/pmo/your_config.php');
    require_once(dirname(__FILE__).'/pmo/class_gestionDonnees.php');	
    
    $utilisateur = PMO_MyObject::factory('mes_news');
    
    $utilisateur->news_id = 34;
    
    $utilisateur->load();
    echo $utilisateur->news_titre;
    $utilisateur->news_titre= "12";
    $utilisateur->load();
    
    ?>
    J'espere que vous allez pouvoir m'aider

    Merci
    Gaetan

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par bodade Voir le message
    Bonjour à tous,
    Je suis tout nouvel utilisateur de PMO et je le trouve, ma foi, fort agréable à utiliser pour un novice comme moi en matière de POO. Par contre j'ai un petit souci qui me rend complètement fou et je pense qu'il doit être facile d'y remédier... mais là j'avoue je galère !
    Je m'explique : j'ai une table news. J'ai un formulaire pour créer des news. Jusque là ca va, ca me créé bien ma news et surtt mon champ : news_visibilite.
    Mais des que je veux modifier cette news, tout fonctionne sauf mon champ news_visibilite... Ce qui est bizarre c que j'ai ajouté ce champ recemment dans la table.... et d'ailleurs des que je créé un nouveau champ, je n'arrive pas le modifier via phpMyObject....

    Ceci ne fonctionne pas :

    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
    <?php
    
    require_once(dirname(__FILE__).'/pmo/PMO_core/PMO_MyController.php');
    require_once(dirname(__FILE__).'/pmo/your_config.php');
    require_once(dirname(__FILE__).'/pmo/class_gestionDonnees.php');	
    
    $utilisateur = PMO_MyObject::factory('mes_news');
    
    $utilisateur->news_id = 34;
    
    $utilisateur->load();
    echo $utilisateur->news_visibilite;
    $utilisateur->news_visibilite = "12";
    $utilisateur->load();
    
    ?>
    Et celui-ci par contre si :


    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
    <?php
    
    require_once(dirname(__FILE__).'/pmo/PMO_core/PMO_MyController.php');
    require_once(dirname(__FILE__).'/pmo/your_config.php');
    require_once(dirname(__FILE__).'/pmo/class_gestionDonnees.php');	
    
    $utilisateur = PMO_MyObject::factory('mes_news');
    
    $utilisateur->news_id = 34;
    
    $utilisateur->load();
    echo $utilisateur->news_titre;
    $utilisateur->news_titre= "12";
    $utilisateur->load();
    
    ?>
    J'espere que vous allez pouvoir m'aider

    Merci
    Gaetan
    Cela peut venir du cache objet à vérifier dans ton fichier your_config.php
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci pour la rapidité de la réponse !
    Par contre je ne comprends pas dans le fichier your_config.php ou trouver l'info et l'objet en question qui a stocké la structure de ma table. Au pire j'aimerai effacé le cache et repartir de zéro en recréant l'objet table mais j'avoue ne pas savoir comment m'y prendre non plus. J'ai tenté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $utilisateur = PMO_MyObject::factory('table_news');
    $utilisateur->toCache();
    mais il me renvoie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to undefined method PMO_MyObject::toCache() in F:\1_WEB\ADMIN-SITE\test.php on line 8
    mon fichier your_config.php :

    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
    // this is where PMO will persist the PMO_object objects.
    // this can speed up your project a lot since PMO will use
    // the classes stored here instead of having to hit the database
    // every time to get the tables schema.
    // This is not activated by default because when we start a new
    // project, the database schema is very often in flux and persisting
    // these classes would force you to delete them every time you
    // make a schema change. Forgetting to do it would probably cause 
    // a lot of headaches.
    $config->set('PMO_MyTable.CLASS_WRITE_ON_DISK', FALSE);
    $config->set('PMO_MyTable.CLASSPATH', dirname(__FILE__).'/PMO_core/PMO_MyTable/');
    $config->set('PMO_MyTable.CLASS_FILENAME_PREFIX', 'PMO_MyTable__');
    
    
    // if you have MemCache installed and running, you can configure
    // your host here
    $config->set('PMO_MyMemCache.ACTIVE', FALSE);
    $config->set('PMO_MyMemCache.HOST', '');
    $config->set('PMO_MyMemCache.PORT', '');
    $config->set('PMO_MyMemCache.TIMEOUT', 10);
    Une fois que j'aurai tout bien compris le mécanisme, promis je vous embête plus

    Merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 158
    Points
    158
    Par défaut
    Mmm c est bizarre, regarde le contenu du répertoire:
    /PMO_core/PMO_MyTable/

    A priori il est désactivé donc il n'y a pas de raisons pour que cela fasse cela :/
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Hum.... il est vide...

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    J'ai fait un test en autorisant l'écriture de la table sur le disque. Cela fonctionne pour mes tables non-modifiées (que je retrouve bien dans le dossier PHP_myTable) mais la dernière prend tellement de temps à se créer que le temps de création dépasse les 30sec autorisé par apache. Cette table ne comprend pourtant que 6 champs.....

    J'avoue ne plus rien comprendre !! Je ne sais pas ou trouver trace de ma table persistante pour la recrée....

    Merci à toi pour ton aide en tt cas....
    Gaetan

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 158
    Points
    158
    Par défaut
    mmm, bizarre, il doit y avoir quelque chose de très spécifique.

    Quel est le type de base ?

    Quels sont le nom des champs ?
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Pour le type de base je ne saurais te répondre, j'utilise easyphp 2.0 et je n'ai changer aucun paramètre.

    Ma table est composée des champs suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    news_id
    news_date
    news_titre
    news_sstitre
    news_gamme
    news_visibilite
    Rien de bien fou.

    Par contre j'arrive a modifier mon champ avec une requete classique via un fichier de test en php....

    J'ai supprimer la table pour la recréer mm probleme...

    Que je teste avec le champ news_visibilite au format BOOL ou VARCHAR c'est la même chose !

    Je pense que je vais me débrouiller autrement. C'est bien dommage, forte pratique cette petite classe.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 158
    Points
    158
    Par défaut
    désolé de pas pouvoir t'aider un peu plus :/

    je ne maintiens plus le projet depuis pas mal de temps, et je n'aurais pas le temps de reproduire le problème chez moi. Je ne vois rien de particulier dans ton code qui pourrait poser problème.

    Si tu veux vérifier, tu peux aussi faire un print_r de ton objet pour voir si le champs est renseigné ou pas
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    C'est pas grave merci a toi pour le temps passé pour m'aider.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 158
    Points
    158
    Par défaut
    Dommage J'aurais bien aimé savoir d'ou ça venait
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

Discussions similaires

  1. Réponses: 20
    Dernier message: 17/12/2015, 11h54
  2. Impossible de modifier le champ
    Par alainvh dans le forum Bases de données
    Réponses: 1
    Dernier message: 28/11/2006, 18h15
  3. Réponses: 4
    Dernier message: 07/08/2006, 16h19
  4. Tables liées dans access à mysql : impossible de modifier
    Par alex38 dans le forum Installation
    Réponses: 2
    Dernier message: 20/04/2006, 17h37
  5. Impossible de modifier une table derrière un query ?
    Par Mihalis dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/04/2006, 11h11

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