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 :

[Tableaux] Afficher id d'un tableau array


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de Pepito2030
    Inscrit en
    Juillet 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 43
    Par défaut [Tableaux] Afficher id d'un tableau array
    Salut tout le monde,

    Je bloque sur un petit truc tout bête j'en suis sur.

    J'ai un fichier en php ou il y a un tableau des différents départements de France.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $departements = array(1 => 'Ain','Aisne','Allier','ETC...');
    J'ai une liste déroulante des départements du tableau ci-dessus. Le problème c'est que je n'arrive pas à imputer un "id" ou une valeur numérique pour chaque nom de département.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <select name="departement">
    <option value="-1"></option>
    <?php 
    $i=1;
    foreach($departements as $cle)
    {
    echo '<option value="'.$i.'">'.$i.' - '.$cle.'</option>';
    $i++;
    }
    ?>
    </select>
    Quelqu'un peut m'aider svp ? logiquement dans le tableau chaque nom de département à un id prédéfini ? le département "Ain" à l'id 1 dans le tableau etc... comment afficher cette id dans ma liste déroulante svp

    J'ai testé de faire une boucle avec $i mais il ne m'affiche rien

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Je comprends pas trop, en utilisant ton 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
    <?php
     
    $departements = array(1 => 'Ain','Aisne','Allier','ETC...');
    ?>
    <select name="departement">
    <option value="-1"></option>
    <?php 
    $i=1;
    foreach($departements as $cle)
    {
    echo '<option value="'.$i.'">'.$i.' - '.$cle.'</option>';
    $i++;
    }
    ?>
    </select>
    je récupère bien une combobox avec la liste des départements associés a une valeur id pourtant. Qu'est ce que tu as dans ta page de sortie? as-tu affiché la source de la page pour vérifier?

  3. #3
    Membre chevronné Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <select name="departement">
    <option value="-1"></option>
    <?php 
    foreach($departements as $cle => $valeur)
    {
    echo '<option value="'.$cle.'">'.$valeur.' - '.$cle.'</option>';
     
    }
    ?>
    </select>
    Et comme ceci ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Par défaut
    Ton tableau n'est pas très associatif.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $departements = array(1 => 'Ain',2 => 'Aisne',3 => 'Allier','ETC...');
    serait mieux.

  5. #5
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    En meme temps, vu qu'il utilise $i dans une boucle while il a pas besoin d'un tableau associatif donc ça ne change pas son problème (et le fait que son code marche aussi)

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Testes la tu verras que ca fonctionne, la première clé est 1 donc par défaut les clés suivantes seront 2, 3, etc. Si tu mets 5 en première clé ca donnera 5, 6, 7, etc.

    Après c'est clair que ça n'est de toute façon pas très propre

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Par défaut
    En effet, j'ai testé et ça fonctionne, de même que la solution de francoisIT, mais bon si on peut écrire du code fonctionnel et propre en même temps, on va pas se priver

  8. #8
    Membre averti Avatar de Pepito2030
    Inscrit en
    Juillet 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 43
    Par défaut
    salut merci pour vos réponses

    Donc le mieux c'est que je mette un id dans mon tableau département pour que le code soit plus "propre" ?

    Le fait de faire une boucle avec $i c'est moins bien ?

    Sinon ça fonctionne

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

Discussions similaires

  1. [Tableaux] Afficher champ d'un tableau
    Par marty499 dans le forum Langage
    Réponses: 3
    Dernier message: 18/04/2008, 16h09
  2. [Tableaux] Afficher les clé d'un array
    Par Fusio dans le forum Langage
    Réponses: 2
    Dernier message: 12/06/2007, 18h12
  3. [Tableaux] afficher le contenu d'un tableau php
    Par moons dans le forum Langage
    Réponses: 9
    Dernier message: 08/02/2006, 16h12
  4. Réponses: 2
    Dernier message: 20/11/2005, 19h54
  5. Réponses: 3
    Dernier message: 26/09/2005, 23h24

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