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 :

probleme d'alias pour fonction SUM()


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Par défaut probleme d'alias pour fonction SUM()
    je vous présente ma requête sql au niveau de la class: Demande():
    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
     
    <?php
    function rechercheCongeValideParRessource($id_ressource)
    {
    	$db = $this->getAdapter("dbAdapter");
    	$db->select()->from(array());
    	$select = $db->select("type_conge.`nom_type`, SUM(demande.`nbr_jours_dem`) as `somNbrJrs` ");
    	$select->from("demande");
    	$select->from("type_conge");
    	$select->where("demande.id_demandeur=".$id_ressource);
    	$select->where("type_conge.id_type=demande.id_type");
    	$select->where("demande.etat_dem= 'V'");
    	$select->group("demande.id_type");
    	$stmt = $db->query($select);			
    	return $stmt->fetchAll();
    }
    ?>
    je l'appelle au niveau de mon controleur (IndexController.php) au niveau de indexAction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $demande=new Demande();
    $demandes_validees = $demande->rechercheCongeValideParRessource($id_user);
    $this->view->demandes_validees = $demandes_validees;
    ?>
    au niveau de ma vue (index.php) je relance une boucle pour afficher toutes les données de ma requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php 
    foreach ($this->demandes_validees As $demandes):
    echo $demandes['nom_type']." : ";
    echo $demandes['somNbrJrs'];
    echo "<br/>";
    endforeach;
    ?>
    quand je test la chose on m'affiche:
    Notice: Undefined index: somNbrJrs in C:\wamp\www\conge\application\views\scripts\index\index.phtml on line 19
    serait-il possible que zend ne prenne pas les alias en charge (ce que je ne crois pas vraiment) ou y a-t-il un problême au niveau de mon code?

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Je crois qu'il bne faut pas de backquote sur les alias :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SUM(demande.`nbr_jours_dem`) as somNbrJrs

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Par défaut
    j'ai enlevé les backquotes mais cela donne toujours le même problème
    par contre j'ai changé la manière de procéder à mon select sur ma classe demande et utilisé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $select=$db->select();
    $select->from('demande','SUM(nbr_jours_dem) as somNbrJrs');
    $select->from('type_conge','nom_type');
    etc...
    ?>
    c ainsi que ça a pu marcher
    après une journée de recherche hier il suffisait juste de changer la manière de mon select pour avoir la possibilité d'utiliser un alias.
    c assez embétant de voir que zend ne permet pas une utilisation généralisée de ceux ci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 215
    Par défaut
    Pour les alias, le mieux est je pense d'utiliser un array avec clé=>valeur, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select->from('demande',array('somNbrJrs'=>'SUM(nbr_jours_dem)'));

Discussions similaires

  1. une condition pour fonction SUM
    Par backdraf dans le forum Développement
    Réponses: 2
    Dernier message: 24/06/2009, 14h41
  2. VBA probleme Acces pour fonction somme Excel
    Par darkspoilt dans le forum Général VBA
    Réponses: 1
    Dernier message: 11/05/2007, 17h15
  3. [Excel] Probleme avec la fonction SUM
    Par lidouka dans le forum Excel
    Réponses: 2
    Dernier message: 06/03/2007, 13h09
  4. probleme avec la fonction sum (debutant)
    Par mcf1 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/05/2006, 09h38
  5. probleme avec la fonction sum (debutant)
    Par mcf1 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/05/2006, 09h33

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