Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu] jDao et Unset sur Array

Posted by ciblemedia on 12/28/2011 14:21

Bonjour,

Voici mon code :

        $liste = $fact->listAllCol($user->codetie,$user->codeuge);
        
        foreach($liste as $id=>$coll) {
            if(!empty($coll->login)) {
                $groupList = jAcl2DbUserGroup::getGroupList($coll->login);
                foreach($groupList as $group) {
                    
                    if ($group->id_aclgrp == 'administrateurs') {unset($liste[$id]);}
                }
            }
        }
       
        $tpl->assign('liste', $liste);

Mon but étant d'afficher tous les collaborateurs sauf ceux qui ont un groupe administrateurs. Le problème est que quand j'essaie de faire un unset($liste[$id]); j'ai l'erreur suivante :

Fatal error: Cannot use object of type mysqlDbResultSet as array in...

Je ne vois pas comment je peux supprimer une ligne dans le array sans faire un unset. Si quelqu'un peut me dire ?!

Yann

  [Opened] Re: jDao et Unset sur Array

Reply #1 Posted by FlorianLB on 12/28/2011 19:27

L'erreur est assez explicite pourtant : dans ton exemple $liste n'est pas un tableau mais un objet de type mysqlDbResultSet donc normal que tu ne puisse pas utiliser les [] dessus.

Si ta liste n'est pas trop longue vas voir du coté de jDbResultSet::fetchAll()


- FlorianLB.fr

  [Opened] jDao et Unset sur Array

Reply #2 Posted by laurentj on 12/29/2011 11:17

Bonjour,

vu que $liste n'est pas un tableau, il faut te créer ton propre tableau (à partir de $liste) avec les enregistrements que tu veux.

PS: j'oubliais : dans une gestion de droits, on ne teste pas si un user appartient à tel ou tel groupe, mais si il a tel ou tel droit. C'est beaucoup plus sûr. L'appartenance à un groupe ne veut pas dire grand chose en définitive, les droits d'un groupe pouvant changer.

PS2: faire une requête SQL classique avec une jointure sur les droits (ou les groupes si tu y tiens vraiment), sera plus efficace et performant.

  [Opened] jDao et Unset sur Array

Reply #3 Posted by ciblemedia on 12/30/2011 14:30

Effectivement, en utilisant la première solution de laurentj, c'est plus simple :)

Merci à tous les 2.

 
Page
  1. Re: Probleme apple javascript ? >
  2. Re: doc jelix, livre ou pdf >
  3. Re: Utilisation urljsstring >
  4. Re: Encore une question sur l'organisation >
  5. HaveFnuBB! 1.3.4 >
  6. Re: Choix de Jelix pour gros projet : quelle pérennité ? >
  7. Re: JForms > contrôle d'une URL >
  8. jDao et Unset sur Array