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 :

erreur dans zend_db_table_abstract:undefined offset


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 73
    Par défaut erreur dans zend_db_table_abstract:undefined offset
    bonjour tout le monde
    j'ai une erreur bizarre qui est declenchée suite à une tentative d'jout d'un enregistrement dans la base.
    l'erreur est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Notice: Undefined offset: 1 in C:\wamp\www\maghrebjob\library\Zend\Db\Table\Abstract.php on line 742
     
    Fatal error: Call to a member function insert() on a non-object in C:\wamp\www\maghrebjob\library\Zend\Db\Table\Abstract.php on line 757
    j'ai essayé de voir dans abstract.php j'ai trouvé qu'il s'agit une certaine variable pkIdentity qui sert pour les cles primaires composites or ma clé est simple. je comprends pas cette erreur et je vous prie de m'aider à la resoudre.

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    Salut,

    On peut voir le code? Où tu ajoutes ton enregistrement.
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 73
    Par défaut code d'insertion de l'enregistrement
    oui bien sur

    voici le code de la fonction d'insertion
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    function ajouterAction(){
    			$this->view->title = "Ajouter une offre!!";
    			$offer = new OffreGestion();
    				$this->view->params = 'vide' ;
    			if($this->_request->isPost()){
    				Zend_Loader::loadClass('Zend_Filter_StripTags');
    				$filter = new Zend_Filter_StripTags();
     
    				$soc = (int)$filter->filter($this->_request->getPost('client'));
    				$tit = $filter->filter($this->_request->getPost('title'));
    				$tit = trim($tit);
    				$sex = (int) $filter->filter($this->_request->getPost('sex'));
    				$age_min = (int)$filter->filter($this->_request->getPost('age_min'));
    				$age_max = (int)$filter->filter($this->_request->getPost('age_max'));
    				$study_lev = (int)$filter->filter($this->_request->getPost('studies_level'));
    				$experience = (int)$filter->filter($this->_request->getPost('experience'));
    				$sect = (int)$filter->filter($this->_request->getPost('sector'));
    				$func = (int)$filter->filter($this->_request->getPost('function'));
    				$pays = (int)$filter->filter($this->_request->getPost('country'));
    				$desc = $filter->filter($this->_request->getPost('desc'));
    				$desc = trim($desc);
    				$sal = (int)$filter->filter($this->_request->getPost('salary'));
    				$count = (int)$filter->filter($this->_request->getPost('country'));
    				$date_dep = $filter->filter($this->_request->getPost('date_depot'));
     
    				$data = array(
    					'c_id' =>$soc,
    					'sex' => $sex,
    					'age_min' => $age_min,
    					'age_max' => $age_max,
    					'studies_level' => $study_lev,
    					'experience' => $experience,
    					'title' => $tit,
    					'sector' => $sect,
    					'function' => $func,
    					'country_id' => $count,
    					'desc' => $desc,
    					'salary' => $sal,
    					'date' => $date_dep
    				);
    				$offer->insert($data);
    				$this->_redirect('/offre/ajouter');
    				return;
    			}
     
     
    			$this->view->offre = $offer->setNewOffer() ;
     
    			$this->view->action = 'ajouter';
    			$this->view->buttonText = 'Ajouter';
    	}

  4. #4
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    Bon apparemment l'instanciation ne fonction pas. Etant donné qu'il te dis que $offer n'est pas un objet. Tu peux me montrer ta classe de model OffreGestion ? Voir si la structure est correcte...
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 73
    Par défaut code de la classe model
    je travaille avec mysql et voici la définition de la classe du model
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	class OffreGestion extends Zend_Db_Table{
    		protected $_name = 'c_offer';
    		protected $_primary = 'id';
    		protected $_identity = 0;
     
    		private $db1;
    		function __construct(){
    			Zend_Loader::loadClass('clientGestion');
    			Zend_Loader::loadClass('Zend_Date');
    			$this->db1 = Zend_Db_Table_Abstract::getDefaultAdapter();
    		}

  6. #6
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    J'ai trouvé l'erreur. Dans ton model tu redéfinis le constructeurs. Mais tu dois appelé le constructeurs parent de la classe dont tu dérive... Donc dans ton constructeur tu dois ajouter le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class OffreGestion extends Zend_Db_Table{
            protected $_name = 'c_offer';
            protected $_primary = 'id';
            protected $_identity = 0;
     
            private $db1;
            function __construct(){
                parent::__construct($config); //config est un array de config pour la connexion à la base de donnée
                Zend_Loader::loadClass('clientGestion');
                Zend_Loader::loadClass('Zend_Date');
                $this->db1 = Zend_Db_Table_Abstract::getDefaultAdapter();
            }
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ERREUR Undefined offset dans une boucle
    Par xounet dans le forum Langage
    Réponses: 7
    Dernier message: 08/05/2014, 11h08
  2. Erreur php : "Notice: Undefined offset: 1"
    Par bobette16 dans le forum Langage
    Réponses: 3
    Dernier message: 08/04/2013, 09h44
  3. Erreur Undefined offset dans un tableau
    Par pasc06 dans le forum Langage
    Réponses: 26
    Dernier message: 26/11/2008, 16h04
  4. Erreur de "Undefined offset"
    Par guy2004 dans le forum Langage
    Réponses: 8
    Dernier message: 16/10/2005, 12h48

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