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

Langage PHP Discussion :

liste dans un formulaire / modèle


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut liste dans un formulaire / modèle
    Bonjour tout le monde.
    Comme vous vous en doutez, j'arrive avec un petit problème, celui ci sera facile à résoudre pour vous je suppose, mais étant débutant ...

    je vous l'expose.

    tout d'abord, les tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fournisseur (numero_fournisseur, nom ...)
    articles (numero_article, libelle ...)
    Vous comprendrez bien évidemment qu'un fournisseur propose des articles et non l'inverse.

    ce que je cherche à faire, c'est pouvoir lors de la consultation de mon fournisseur obtenir une liste de tous les objets qu'il propose (numéro_article, libelle, prix ...)

    par exemple mon interface devrait ressembler à celle ci:
    --------------------------------------------------------------------------
    nom fournisseur : fournisseur1
    adresse fournisseur : adresse1
    code postal fournisseur : code_postal1
    ...

    et en dessous de ces informations avoir un tableau qui me permettrai de lister les divers articles :
    numéro_article libelle prix ....
    1 article1 prix1 ....
    2 article2 prix2 ....
    --------------------------------------------------------------------------
    me faut il un modèle ou un formulaire ?
    - si je dois utiliser un modèle, comment ne récupérer qu'un enregistrement ?
    je sais utiliser les fetchAll() mais je ne sais comment ne récupérer qu'un seul enregistrement.

    - si je dois utiliser un formulaire, comment faire pour "bloquer" la saisie des champs de texte (étant donné qu'il ne s'agit que de consultation, aucune modification n'est tolérée).


    petite précision, j'aimerais pouvoir lors de la consultation pouvoir ajouter des articles à la liste des articles proposés par le fournisseur (je possède déja le formulaire d'ajout d'articles. il ne me restera qu'a récupérer le numéro de fournisseur et l'affaire et jouée).


    J'espère avoir été clair.
    Merci d'avance de votre aide qui me sera des plus précieuse !!!
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    il te faut un modèle pour chaque table étendant de Zend_Db_Table_Abstract (voir tutos nombreux sur le net).

    Pour ce qui est de récupérer un seul enregistrement, tu utilises fetchRow() au lieu de fetchAll() ou alors fetchAll()->current()

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    Merci de ta réponse Madfrix !

    j'ai tenté ceci dans mon controller
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function consulterfournisseurAction()
    	{
    			$this->view->title = "Consultation de fournisseur";
    			$fournisseur = new Fournisseurs();
    			$id = (int)$this->_request->getPost('id');
    			$select  = $fournisseur->select()->where('numero_fournisseur='.$id);
    			$row = $fournisseur->fetchRow($select);
    	}
    Cependant une question me vient, lorsque l'on utilise un fetchAll() dans le controller, on utilise un foreach dans le modèle pour les divers enregistrements, mais lorsque l'on utilise un fetchRow que doit on utiliser dans le modèle (dans ce que j'ai lu de la doc, il n'expliquent que la partie controller, enfin si j'ai bien compris)?

    Autre chose, je souhaite lister tous les articles liés au fournisseur sélectionné, et je ne sais comment procéder. fetchRow() ou fetchAll() ??
    (sachant qu'un fournisseur peut proposer plusieurs articles).
    Existerait il in fetchAll() dans lequel il serait possible de poser des conditions ?
    J'ai tenté cette manière,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $prestation = new Prestations();
    $select  = $prestation->select()->where('numero_fournisseur='.$id);
    $this->view->prestation = $prestation->fetchAll();
    Mais cela me retourne tous les articles et non uniquement ceux proposés par le fournisseur sélectionné.
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    Après plusieurs essais, mon controller ressemble à ceci :
    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
     
    function consulterfournisseurAction()
    {
            $this->view->title = "Consultation de fournisseur";
     
    	$fournisseur = new Fournisseurs();
    	$id = (int)$this->_request->getPost('id');
    	$select  = $fournisseur->select()->where('numero_fournisseur='.$id);
    	$row = $fournisseur->fetchRow($select);
     
    	$article = new Articles();
    	$select = $article->select();
    	$select->from($article,array('numero_article', 'numero_fournisseur_article', 'libelle_article', 'prix_article', 'code_postal_article', 'ville_article'))
    			->where('numero_fournisseur_article='.$id);
    	$rows = $article->fetchAll($select);							
    }
    Mais malheureusement je rencontre des difficultés avec les fetchRow($select) et fetchAll($select) donc des erreurs "invalid argument for foreach ..." lorsque je tente de récupérer les enregistrements dans mon modèle

    Quelqu'un aurait il une idée ?
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut Résolu !
    J'ai trouvé ! (tout du moins je pense )
    ce n'est surement pas très propre, mais cela fonctionne

    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
     
    $this->view->title = "Consultation de fournisseur";
     
    $id = (int)$this->_request->getParam('id');
     
    $fournisseur = new Fournisseurs();
    $select = $fournisseur->select();
    $select->from($fournisseur,array('numero_fournisseur', 'nom_fournisseur', 'contact_fournisseur', 'adresse_fournisseur', 'code_postal_fournisseur', 'ville_fournisseur', 'numero_departement_fournisseur','numero_pays_fournisseur', 'telephone_fournisseur', 'fax_fournisseur', 'mail_fournisseur'))
    ->where('numero_fournisseur='.$id);
    $this->view->fournisseur = $fournisseur->fetchAll($select);
     
    $article = new Articles();
    $select = $article->select();
    $select->from($article,array('numero_article', 'numero_fournisseur_article', 'libelle_article', 'prix_article', 'code_postal_article', 'ville_article'))
    ->where('numero_fournisseur_article='.$id);
    $this->view->article = $article->fetchAll($select);
    Je serai ravi que ce code serve à quelqu'un

    Encore merci à Madfrix de m'être venu en aide !!
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Merci pour le code mé est ce que tu travaille avec le modele MVC ou non, si oui alor tu ne doi pas avoir des requete dans le controller tou se qui a une relation avec la base doit etre dans le M du MVC "Modele". plus d'info il ya aussi le fetchOne et le fetchCol.
    pour le fitchRow en recuper les variable comme $variable['nom_champ'] en ne fé pas une foreach parceque c selement une ligne.
    le fetchOne il retourn selement un enregistrement en recupere selement avec le nom de la variable.
    le fetchCol il retourn une collone dune table et tu le recuper avec $variable[$i]
    A la recherche d'un film : http://chercher-un-film.com

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut oooops
    effectivement m4riachi je travaille avec le modèle MVC. (enfin j'essaie et je débute de la manière la plus lamentable qui soit je dois dire )

    Ou devrais-je placer mes requêtes selon toi ?
    comment ferais tu ??

    Merci de ta réponse
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class Articles extends Zend_Db_Table_Abstract 
    {
          protectedt $_name = 'articles'
          public function select_all_article()
         {
                $db = $this->getAdapter("dbAdapter");
                $select = $db->select()
                                    ->from($this->_name,array ('numero_article', 'numero_fournisseur_article', 'libelle_article', 'prix_article', 'code_postal_article', 'ville_article'))
                                    ->where('numero_fournisseur_article='.$id);
               return  $db->fetchAll($select);
         }
    }
    Mé moi pour les requete jutilise requete sql c'est plus facile a utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class Articles extends Zend_Db_Table_Abstract 
    {
          protectedt $_name = 'articles'
          public function select_all_article()
         {
                $db = $this->getAdapter("dbAdapter");
                $query = "select * from article"
               return  $db->fetchAll($query);
         }
    }
    A la recherche d'un film : http://chercher-un-film.com

  9. #9
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    Je pense avoir compri un peu ...

    Ou place tu ton code ?
    ma méthode n'est elle pas correcte ??
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    ta methode est parfaitement corecte mé tu n'utilise pa le patern MVC.
    mon code je le mi dans le dossier modele.
    et tu le recupere dans le controleur avec.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $articel = new Article();
             $array = $article->select_all_article();
    A la recherche d'un film : http://chercher-un-film.com

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    Bon, je vais tenter de faire sa correctement ...

    Dans mon controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $this->view->title = "Consultation de fournisseur";
     
    //récupération de l'id du fournisseur
    $id = (int)$this->_request->getParam('id');
     
    //selection des informations du fournisseur
    $fournisseur = new Fournisseurs();
    $array = $fournisseur->select_all_fournisseur();
    Dans mon modèle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    code classique avec récupération des valeurs des champs retournés par fetch all(select);
    et ma classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public function select_all_article()
         {
     
    $db = Zend_Db_Table_Abstract::getDefaultAdapter(); 
     
    $select = $fournisseur->select();
    $select->from($fournisseur,array('numero_fournisseur', 'nom_fournisseur', 'contact_fournisseur', 'adresse_fournisseur', 'code_postal_fournisseur', 'ville_fournisseur', 'numero_departement_fournisseur','numero_pays_fournisseur', 'telephone_fournisseur', 'fax_fournisseur', 'mail_fournisseur'))
    ->where('numero_fournisseur='.$id);
    $this->view->fournisseur = $fournisseur->fetchAll($select);
     
    return  $db->fetchAll($select);
    }
    et ... ben sa fonctionne pas ... j'ai juste des erreurs ...
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  12. #12
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    J'pige pas grand chose la ...
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  13. #13
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    c dans le controlleur outu peu envoyé au view
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $this->view->title = "Consultation de fournisseur";
     
    //récupération de l'id du fournisseur
    $id = (int)$this->_request->getParam('id');
     
    //selection des informations du fournisseur
    $fournisseur = new Fournisseurs();
    $this->view->fournisseur = $fournisseur->select_all_fournisseur();
    et dans ton modele tu doi faire ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public function select_all_article()
         {
     
    $db = Zend_Db_Table_Abstract::getDefaultAdapter(); 
     
    $select = $db->select();
    $select->from("nom_de_la_table",array('numero_fournisseur', 'nom_fournisseur', 'contact_fournisseur', 'adresse_fournisseur', 'code_postal_fournisseur', 'ville_fournisseur', 'numero_departement_fournisseur','numero_pays_fournisseur', 'telephone_fournisseur', 'fax_fournisseur', 'mail_fournisseur'))
    ->where('numero_fournisseur='.$id);         
    return  $db->fetchAll($select);
    }
    A la recherche d'un film : http://chercher-un-film.com

  14. #14
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut Comprend pas grand chose la ...
    il me trouve une erreur sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return  $db->fetchAll($select);
    erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')'
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  15. #15
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    un joli tuto sur Zend_Db se trouve ici

    La logique MVC (séparation des couches) voudrait que tes controlleurs n'aient pas de code SQL dedans mais appellent des méthodes de tes modèles qui elles requêtent ta base

  16. #16
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    Merci de vos réponses,

    @Madfrix : j'ai lu et relu le tuto, c'est d'ailleurs par celui ci que j'ai commencé et effectivement il est très bien fait. Cependant, mon code est fonctionnel lorsqu'il se trouve dans le controler mais rencontre l'erreur lorsque je le place dans le modèle (pour respecter le pattern MVC). Cela reste bien bizarre.

    @M4riachi : le code fonctionne de ton coté ?? il ne et génère aucune erreur ?

    Contrairement à ce que me dit l'erreur retournée, ma requête semble bonne.
    Quelqu'un voit quelque chose d'anormal?

    note : J'utilise un config.ini pour stocker ma connexion à la base.

    Je peut si besoin vous faire apparaitre le code de mon modèle, mon contoler, ainsi que ma vue.
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  17. #17
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    Apparemment avec un peu plus de recherche, l'erreur proviendrait d'ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ->where('numero_fournisseur='.$id);
    euh ... je vois pas ce qui cloche la ...

    Si je retire cette petite ligne de commande je rencontre le problème suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Numéro : 
    Notice: Trying to get property of non-object in C:\wamp\www\XXXXXXX\application\views\scripts\index\consulter-fournisseur.phtml on line 11
    Une idée ?? l'erreur est elle déjà arrivée à quelqu'un ??
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  18. #18
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    voici mon code que jé tester est ca march tro bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public function select_all_article()
        {
    		$variable = 'mvm';
    		$db = Zend_Db_Table_Abstract::getDefaultAdapter(); 		 
    		$select = $db->select()
    					 ->from($this->_name,array('company_name','customer_id') )
    					 ->where("company_name='" . $variable . "'");		     
    		return  $db->fetchAll($select);
         }
    mon controller
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public function selectionAction()
    	{
    		$client = new Customers();
    		$this->view->client = $client->select_all_article();
    	}
    le view
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?
    $array = $this->client;
    for ($i = 0; $i < count($this->client);$i++) {
    	echo $array[$i]['company_name']." ".$array[$i]['customer_id']. "<br />";
    } ?>
    A la recherche d'un film : http://chercher-un-film.com

  19. #19
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    je teste sa (en faisant les adaptations bien sur) et je tiens au courant
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  20. #20
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut Toujours pas... C'est à n'y rien comprendre !!!
    mon modèle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public function select_all_fournisseur()
    {
    	$numero_fournisseur = '1';
    	$db = Zend_Db_Table_Abstract::getDefaultAdapter(); 		 
    		$select = $db->select()
    	 ->from($this->fournisseur,array('numero_fournisseur', 'nom_fournisseur', 'contact_fournisseur', 'adresse_fournisseur', 'code_postal_fournisseur', 'ville_fournisseur', 'numero_departement_fournisseur', 'numero_pays_fournisseur', 'telephone_fournisseur', 'fax_fournisseur', 'mail_fournisseur') )
    	 ->where("numero_fournisseur=".$numero_fournisseur);		     
    return  $db->fetchAll($select);
    }
    Mon controler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            $this->view->title = "Consultation de fournisseur";
     
    	//récupération de l'id du fournisseur
    	$id = (int)$this->_request->getParam('id');
     
    	$fournisseur = new Fournisseurs();
    	$this->view->fournisseur = $fournisseur->select_all_fournisseur();
    Ma vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?
    	$array = $this->fournisseur;
    	for ($i = 0; $i < count($this->fournisseur);$i++) 
    	{
    		echo $array[$i]['numero_fournisseur']." ".$array[$i]['nom_fournisseur']. "<br />";
    	} 
    ?>
    et j'ai cette erreur ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'numero_fournisseur' in 'field list'' in C:\wamp\www\XXXXX\library\Zend\Db\Statement\Pdo.php:228 Stack trace: #0 C:\wamp\www\XXXXX\library\Zend\Db\Statement\Pdo.php(228): PDOStatement->execute(Array) 
    #1 C:\wamp\www\XXXXX\library\Zend\Db\Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array) 
    #2 C:\wamp\www\XXXXX\library\Zend\Db\Adapter\Abstract.php(468): Zend_Db_Statement->execute(Array) 
    #3 C:\wamp\www\XXXXX\library\Zend\Db\Adapter\Pdo\Abstract.php(238): Zend_Db_Adapter_Abstract->query(Object(Zend_Db_Select), Array) 
    #4 C:\wamp\www\XXXXX\library\Zend\Db\Adapter\Abstract.php(706): Zend_Db_Adapter_Pdo_Abstract->query(Object(Zend_Db_Select), Array) 
    #5 C:\wamp\www\XXXXX\application\models\Fournisseurs.php(16): Zend_Db_Adapter_Abstract->fetchAll(Object(Zend_Db_Select)) 
    #6 C:\wamp\www\XXXXX\application\controllers\IndexController.php(351): Fournisseurs->select_all_fournisseur() 
    #7 C:\wamp\www\XXX in C:\wamp\www\XXXXX\library\Zend\Db\Statement\Pdo.php on line 234
    J'ai bien vérifié que le champ numero_fournisseur existe dans ma table fournisseur et qu'aucune erreur de saisie ou syntaxe n'a été commise.
    Cependant, je ne vois toujours pas de ou peut provenir l'erreur ... ??
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Mise a jour d'une zone liste dans un formulaire BIS
    Par fsautejeau dans le forum Access
    Réponses: 4
    Dernier message: 03/07/2006, 11h37
  2. Mise a jour d'une zone liste dans un formulaire
    Par lawokgluot dans le forum Access
    Réponses: 3
    Dernier message: 30/06/2006, 12h41
  3. Critère de requête avec une zone de liste dans un formulaire
    Par Dehez dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/06/2006, 13h49
  4. Réponses: 5
    Dernier message: 18/10/2005, 15h09
  5. [STRUTS]Liste dans un formulaire
    Par SEMPERE Benjamin dans le forum Struts 1
    Réponses: 14
    Dernier message: 11/02/2005, 18h10

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