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 Perl Discussion :

pb d'accès à un tableau associatif


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2003
    Messages : 205
    Par défaut pb d'accès à un tableau associatif
    bonjour,

    j'ai developpez un code qui me permet de mettre ds un tableau associatif les resultat d'une rquete avec comme clé le nom des colonnes:

    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
    $version-> execute() || die "pb de selection : $DBI::errstr";
        my $names = $version->{NAME};
        my $table = $version->fetchall_arrayref or die "$version->errstr\n";
        my($i, $j);
      for $i ( 0 .. $#{$table}) 
      {
        for $j ( 0 .. $#{$table->[$i]} )
          {
                push(@tab,$table->[$j][$i]);
        }
            $retourne{$names->[$i]}=@tab;
            splice(@tab,0);
      }
        $version-> finish();
        return %retourne;
    Mais lorsque je souhaite afficher mon tableau je n'y arrive pas, voici comment je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    %table=$bdd->selection($req);
    for($i .. $table{"nom"})
    {
      print $table{"nom"}[$i]."<br>";
    }
    Si vous pouvez m'aider ca serai cool

    Nixonne

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Et les fetch*_hashref ne font pas ce que tu veux ?

    (à titre informatif, ton erreur est d'essayer de mettre un tableau dans un hash : tu ne peux pas mettre autre chose qu'un scalaire dans un hash ou un tableau, donc il faut mettre une référence sur ce tableau plutôt que le tableau lui-même pour faire des structures de données complexes).

    --
    Jedaï

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2003
    Messages : 205
    Par défaut
    Citation Envoyé par Jedai
    donc il faut mettre une référence sur ce tableau plutôt que le tableau lui-même pour faire des strutures de données complexes.
    c'est à dire, tu fais comment?

    Nixonne

  4. #4
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Regarde dans notre FAQ, c'est bien expliqué. Mais tu devrais aussi regarder du côté des fetch*_hashref().

    --
    Jedaï

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2003
    Messages : 205
    Par défaut
    merci purb le fetch*_hashref, j'ai utilisiser le fetchall_hashref(param) mais il me met chaque ligne dans un hash avec comme clé le paramétre passé.

    ce quei je voudrais faire c'est obtenir une "tableau" de ce type sachant que c'est un résultat de requete:

    |id_user|nom|prenom|
    |1 |val | val2 |
    ...

    et acceder a celui-ci de la manière suivante:

    $table['prenom'][0] #donc val2

    si vous voyé comment faire

    Merci d'avance

    Nixonne

  6. #6
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Tu ne peux pas tout à fait faire ça directement semble-t-il... Mais tu peux faire un truc très proche qui se consulte comme $table[0]{prenom} avec fetchall_arrayref() si tu lui donne {} en premier argument. Je te reporte à la doc de la fonction fetchall_arrayref().

    --
    Jedaï

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2003
    Messages : 205
    Par défaut
    je remonte le sujet car j'aimerai connaitre comment supprimer le 1ere element d'un tableau comme ca:

    $table->[0]{titre};

    J'ai essayé le shift et le delete mais ca ne marche pas (ou alors je m'y suis encore pris comme un manche)
    Merci d'avance

    Nixonne

  8. #8
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Et lis la FAQ !!!!

    --
    Jedaï

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2003
    Messages : 205
    Par défaut
    en faisant shift @table, il ne me le supprime pas et ne fais rien dessus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    print $table->[0]{titre};
    shift @table;
    print $table->[0]{titre};
    affichage:
    Nixonne

  10. #10
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Relis attentivement ma réponse... Et lis la FAQ aussi.

    --
    Jedaï

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

Discussions similaires

  1. [Smarty] objet foreach: accès tableau associatif imbriqué
    Par noobC dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/11/2009, 12h48
  2. tableau associatif en asp ?
    Par bigsister dans le forum ASP
    Réponses: 5
    Dernier message: 26/01/2005, 16h47
  3. asp tableau associatif
    Par rfernandez dans le forum ASP
    Réponses: 6
    Dernier message: 19/12/2003, 18h58
  4. [langage] TRI TABLEAU ASSOCIATIF
    Par proner dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2003, 16h38
  5. [langage] Réinitialiser un tableau associatif.
    Par totox17 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2003, 16h29

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