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

Zend_Db PHP Discussion :

Problème de BD Adapter


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut Problème de BD Adapter
    Bonjour,

    J'ai actuellement un problème d'accès aux données (insert, update, delete, ...)

    Voila une partie de mon controller :

    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
    public function ajoutstatusAction(){
    	    $this->view->title = "Ajouter un nouveau status";
    	    $this->view->headTitle($this->view->title, 'PREPEND');
    	    $form = new Application_Form_Status();
    	    $this->view->form = $form;
     
     
    		//si le formulaire à été posté
    	    if ($this->getRequest()->isPost()) {
     
    	    	//alors on récupère ce qui à été posté
    	        $formData = $this->getRequest()->getPost();
    	        //et on vérifie que le formulaire est valide
    	        if ($form->isValid($formData)) {
     
    	        	//si le formulaire est valide, on instancie la classe status 
    	        	//avec les valeurs du formulaire
    	            $libelleRole = $form->getValue('libelle');
    	            require_once '../application/models/DbTable/Status.php';
    	            $status = new Application_Model_DbTable_Status();
    	           $status->ajouterStatus($libelleRole);
     
    	        //Si les données du formulaire ne sont pas valides, 
    	        //nous le remplissons avec les données fournies et nous l'affichons à nouveau
    	        } else {
    	            $form->populate($formData);
    	        }
    	    }
    	}
    Et voici ma classe Status :

    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
    <?php
    class Application_Model_DbTable_Status extends Zend_Db_Table_Abstract{
     
    	protected $_name = 'status';
    	//methodes
     
    	public function ajouterStatus($libelle){
            $data = array(
                'LIBELLESTATUS' 	=> $libelle,
            );
            $this->insert($data);
    	}
    	public function modifierStatus($id, $libelle){
            $data = array(
                'IDSTATUS' 			=> $id,
                'LIBELLESTATUS' 	=> $libelle,
            );
            $this->update($data, 'IDSTATUS = '. (int)$id);
        }
        public function supprimerStatus($id){
            $this->delete('IDSTATUS =' . (int)$id);    
        }
    }
    lors de la création de l'objet ($status = new Application_Model_DbTable_Status(); )

    l'application me renvoi l'erreur : Fatal error: Uncaught exception 'Zend_Db_Table_Exception' with message 'No adapter found for Application_Model_DbTable_Status'.

    Si quelqu'un peut m'éclairer sur mon problème

    merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 28
    Par défaut
    Tu as d'autre code d'accès à ta BDD qui fonctionnent dans ton prgm ?

    Tu utilise un .ini ?

  3. #3
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut
    Effectivement j'ai d'autres codes qui fonctionnent comme l'authentification par BDD et je passe par une récupération en registre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dbAdapter = Zend_Registry::get('bdd');
    cependant j'aimerais ne plus utiliser ce genre de procédés mais plutôt que ça soit "automatique" comme sur le Zf tutoriel de rob allen.

    Je passe par un fichier .ini dont voici le code :

    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
     
    [dev]
    phpSettings.date.timezone = "Europe/Paris"
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
     
    resources.layout.layout = "layout"
    resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
    resources.view.doctype = "XHTML1_STRICT"
     
    resource.db.adapter = PDO_MYSQL
    resource.db.params.host = foo
    resource.db.params.username = foo
    resource.db.params.password = foo
    resource.db.params.dbname = foo
     
     
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    appnamespace = "Application"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.params.displayExceptions = 1

  4. #4
    Membre actif
    Inscrit en
    Avril 2003
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Avril 2003
    Messages : 121
    Par défaut
    je crois que la question sous-jacente de SpaceInvader était "est-ce que tu as autre part dans ton programme des appels à la bdd qui fonctionnent ?"

    est-ce que dans le bootstrap, tu charges ton .ini avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $config = new Zend_Config_Ini(APPLICATION_PATH.'/configs/application.ini' , 'production');

  5. #5
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut
    oui pour l'authentification les utilisateurs et mdp sont stockés dans une table donc mon appel à la bdd fonctionne

    (A moins que c'est pas ce que vous me demandez ...)

    et oui je charge mon .ini avec la méthode que tu as cité

  6. #6
    Membre actif
    Inscrit en
    Avril 2003
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Avril 2003
    Messages : 121
    Par défaut
    oui c'est bien ce que je voulais savoir.
    J'essaie de comparer par rapport à mon projet pour essayer de trouver une différence

    l'accès à la bdd pour identifier tes users passe par une classe qui extends quoi ? aussi zend_db_table_abstract ?

Discussions similaires

  1. Problème avec les adapters
    Par Msieur Raf dans le forum Android
    Réponses: 8
    Dernier message: 27/05/2011, 13h16
  2. Problème Css menu adaptable sous IE6
    Par Necho dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 16/01/2009, 14h52
  3. Réponses: 3
    Dernier message: 23/05/2007, 16h07
  4. [C#] Petit problème avec Adapter et DataGrid
    Par Floyd dans le forum Windows Forms
    Réponses: 11
    Dernier message: 02/04/2006, 14h02
  5. Adaptation d'un code TMemo vers TRichEdit : problème de ScrollBars
    Par Droïde Système7 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/01/2005, 15h06

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