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 Framework PHP Discussion :

zend mvc & base de données


Sujet :

Zend Framework PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 47
    Points : 28
    Points
    28
    Par défaut zend mvc & base de données
    Bonjour tout le monde,
    je suis en train de développez une application
    j'ai créer une base de donnée sur phpmyadmin

    j'ai créer les controllers, les vues , dbtable
    dans un premier temps je veux juste afficher les données d'une table , mais je n'arrive pas a le faire , aidez moi svp

    code UtilisateurController :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php 
    class utilisateurController extends Zend_Controller_Action
    {
        public function utilisateurAction()
        {
            $utilisateur = new Model_DbTable_utilisateur();
            $this->view->entries = $utilisateur->getAll();
        }
    }

    utilisateur.phtml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
     
     echo $this->entries; 
     
    ?>

    dbtable :

    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
     
     
    <?php
     
    class Model_DbTable_utilisateur extends Zend_Db_Table_Abstract
    {
     
        /**
         * Nom de la table.
         */
        protected $_name = 'utilisateur';
     
        /**
         * Clef primaire de la table.
         */
        protected $_primary = 'idutilisateur';
     
     
        /**
         * Récupère toutes les entrées flux_doc avec certains critères
         * de tri, intervalles
         *
         * @return array
         */
        public function getAll()
        {
            $query = $this->select()
                        ->from( array("utilisateur" => "utilisateur") );
     
     
     
    	}
     
     
     
    }

  2. #2
    Membre éprouvé Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Points : 1 105
    Points
    1 105
    Par défaut
    Bonjour,

    Pourquoi utiliser ZF1 et non pas ZF2 ou 3 ?

    Sinon, il vaudrait mieux faire un var_dump qu'un echo car il s'agit d'une collection d'entités, donc un echo va te faire une exception (echo peut afficher qu'une string).

    Tu ne nous dis pas les erreurs que tu as, ça va donc être dûr de t'aider plus, mais hésite pas à revenir avec des symptômes plus détaillés.

    Par ailleurs, d'après https://framework.zend.com/manual/1....db.select.html, Model_DbTable_utilisateur (d'ailleurs il manque une majuscule à Utilisateur) doit faire la requête sql suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `utilisateur` as `utilisateur`;
    ce qui ne veut pas dire grand chose

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 47
    Points : 28
    Points
    28
    Par défaut
    Bonjour,
    merci pour votre réponse

    je débute avec zend ..

    tout d'abord je viens de changer le 'entries ' par rs , du coup j'ai garder le echo

    et comme je suis débutante, je ne sais pas comment je pourrais afficher les données d'une table
    c'est pour cela j'ai fais se script


    je n'ai aucune erreur qui s'affiche
    j'ai seulement
    ' ZF Quickstart Application' qui s'affiche dans une page blanche

    merci

  4. #4
    Membre éprouvé Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Points : 1 105
    Points
    1 105
    Par défaut
    étrange... du coup pourquoi ZF1 alors si tu apprends, un besoin au boulot ? Parce que franchement ce n'est pas un bon framework pour apprendre, il est dépassé depuis longtemps.

    Comment as-tu fait ton installation ? (OS, installation du serveur HTTP et PHP, etc)

    Si tu utilises apache as-tu bien activé le mode rewrite et fait pointé le document root sur /public ?

    Quelle url appelles-tu ?

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 47
    Points : 28
    Points
    28
    Par défaut
    besoin aus études ..

    j'ai bien installer zend

    localhost/zend/public/utilisateur/utilisateur

    merci

  6. #6
    Membre éprouvé Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Points : 1 105
    Points
    1 105
    Par défaut
    La question n'est pas si "Zend est installé" (qui au passage ne veut pas dire grand chose), mais comment est fait ton serveur HTTP/php.

    J'en conclus que tu es sous Windows avec un WAMP (pas de raison technique, mais corrige moi si j'ai tord). Dans les configs d'apache, tu trouveras des fichiers httpd.conf et httpd-vhosts.conf probablement (ou similaire, je n'ai pas de wampserver ici).
    Il faut vérifier que tu as bien AllowOverride All dans tes configs, et pas une autre valeur.

    Pour le reste, si tu ouvres les developer tools de ton navigateur, as-tu des erreurs 404 ?

    Hors sujet par rapport à ta question, mais pourrais-tu m'envoyer des infos sur ta formation en MP, et l'email de ton prof et du directeur des études ?

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    visiblement tu n'as pas bien configuré ton vhost. le document_root de ton vhost doit pointer vers le dossier public du projet ( ex:/var/www/mon-projet/public).
    Toutefois si tu veux afficher l'action de ton contrôlleur sans avoir à configurer, tu as 2 choix:
    - choix 1: Faire précéder ton contrôlleur par index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     localhost/zend/public/index.php/utilisateur/utilisateur
    - choix 2: Utiliser le serveur web interne de php(depuis un terminal) en tapant la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    # dans /var/www/mon-projet/public
     php -S localhost:8000
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
     
     echo $this->entries;
    On affiche pas un tableau avec echo.Il faut faire une boucle sur un tableau, puis afficher les champs.


    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
     
     
     
    <?php
     
    class Model_DbTable_utilisateur extends Zend_Db_Table_Abstract
    {
     
        /**
         * Nom de la table.
         */
        protected $_name = 'utilisateur';
     
        /**
         * Clef primaire de la table.
         */
        protected $_primary = 'idutilisateur';
     
     
        /**
         * Récupère toutes les entrées flux_doc avec certains critères
         * de tri, intervalles
         *
         * @return array
         */
        public function getAll()
        {
            $query = $this->select()
                        ->from( array("utilisateur" => "utilisateur") ); //
     
     
     
    	}
     
     
     
    }
    La méthode getAll() doit renvoyer un tableau d'objet. Je ne suis pas certain que ta requête soit bien écrite. Pour voir la requête SQL générée, tu affiches la variable $query__toString().

    Pour récupérer tous les utilisateurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <?php 
    class utilisateurController extends Zend_Controller_Action
    {
        public function utilisateurAction()
        {
            $utilisateur = new Model_DbTable_utilisateur();
            $this->view->entries = $utilisateur->fetchAll();
        }
    }
    Un tuto pour débuter( zend est maintenant hasbeen) https://s-jdm.developpez.com/tutorie...ramework-1-10/

Discussions similaires

  1. [MVC] Exemple Base de données
    Par Kiboumz dans le forum MVC
    Réponses: 6
    Dernier message: 26/02/2014, 10h50
  2. Zend et la base de donnée
    Par king_soft dans le forum Zend Framework
    Réponses: 4
    Dernier message: 07/12/2010, 09h52
  3. MVC et bases de donnée ?
    Par Melaba dans le forum MVC
    Réponses: 3
    Dernier message: 12/09/2008, 12h18
  4. Zend Session et base de données
    Par pada51 dans le forum Zend_Db
    Réponses: 2
    Dernier message: 29/02/2008, 02h09
  5. Problème de base de données avec Zend exception PDO
    Par websurfeur dans le forum Zend Framework
    Réponses: 8
    Dernier message: 20/04/2007, 16h49

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