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 :

Syntaxe pour un array à deux colonnes [PHP 5.0]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 131
    Par défaut Syntaxe pour un array à deux colonnes
    Bonsoir à tous,
    Bon précision : je suis débutant en PHP et cette question a du être posée mille trois cent fois au moins !!!!

    Voilà je voulais savoir si la syntaxe suivante était correcte :
    Ma problématique : construire un tableau avec 2 données : un identifiant et un nom de user
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $user[0] = array ('id'=>1 , 'nom' =>'Moi' );
    $user[1] = array ('id'=>2 , 'nom' =>'Lui' );
    $user[2] = array ('id'=>3 , 'nom' =>'Eux' );
    Je ne suis pas sur du tout de cette syntaxe.

    Ce tableau doit ensuite me servir à alimenter une zone de liste (=select) dans un fichier HTML.
    Je précise que c'est une variable gérée par un framework de template qui envoie le résultat du PHP dans le HTML. J'espère avoir été clair là.

    Là ou je coince aussi c'est dans le parcours de mon tableau pour obtenir le contenu qui va alimenter mon select.

    Je pensais utiliser une variable $ligne qui finalement contiendrait la partie HTML de la construction d'un select enrichie des données dynamiques de mon tableau.

    Pourriez-vous me filer un petit coup de main s'il vous plait ?
    D'avance merci à ceux qui pourront m'aider

    Bonnes fêtes à tous

    Edit : et si je faisais plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $users = array (
                    array('id'=>1, 'nom'=>'Moi'),
                    array('id'=>2, 'nom'=>'Lui'),
                    array('id'=>3, 'nom'=>'Eux')
                 );
    Cela me parait plus propre.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est plus une question de gout entre tes deux écritures même si la deuxième a l'avantage de (re)créer le tableau, ce qui évite d'être victime de données résiduelles si tu utilises la variable avant dans le code.

    Dans l'idée d'un select, plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $users = array (1=>'Moi', 2=>'Lui',  3=>'Eux');
    echo '<select>';
    foreach($users as $id=>$nom) {
    echo '<option value="' . $id . '">' . $nom . '</option>';
    }
    echo '</select>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 131
    Par défaut
    Merci pour cette réponse qui va me servir et que je comprends
    Si je veux stocker cela dans une variable, est-ce que cette syntaxe est correcte ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($users as $id=>$nom) {
    $contenuSelect = " '<option value="' . $id . ' ">' . $nom . '</option>' ";
    }
    J'ai cru lire par ailleurs qu'il faudrait ajouter un \n pour simuler un retour ligne.
    Dois-je rajouter le echo quand on sait que la variable va être passée au HTML par l'intermédiaire de FastTemplate ?

    Merci encore à vous

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Comme ça alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($users as $id=>$nom) {
    $contenuSelect .= '<option value="' . $id . ' ">' . $nom . '</option>' ."\r\n";
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 131
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Comme ça alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($users as $id=>$nom) {
    $contenuSelect .= '<option value="' . $id . ' ">' . $nom . '</option>' ."\r\n";
    }
    Merci pour cette réponse
    Je teste ça dans mon environnement et reviens vous dire
    Merci encore
    Bonne journée

  6. #6
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 131
    Par défaut
    C'est encore moi
    Donc voici ma fonction
    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
     
    function listUserValidation (){
            $this->select = '';
            $users = array (
                            array('id'=>1, 'nom'=>'Moi'),
                            array('id'=>2, 'nom'=>'Lui'),
                            array('id'=>3, 'nom'=>'Eux'),
                            array('id'=>4, 'nom'=>'Nous')
                    );
     
            foreach($users as $id=>$nom) {
                $this->select .= '<option value="' . $id . ' ">' . $nom . '</option>' ."\r\n";
                }
     
           return $this->select;
    Par contre dans mon select n'apparait que 4 items nommés Array
    Je n'arrive pas à voir ce que je n'ai pas bien fait pour que cela affiche Moi, Lui, Eux et Nous et que quand j'en sélectionne un ce soit bien la valeur de l'id correspond qui soit envoyé.

    Merci de votre aide

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

Discussions similaires

  1. [SP-2010] Syntaxe pour la validation de colonne
    Par swann7 dans le forum SharePoint
    Réponses: 8
    Dernier message: 30/07/2010, 17h40
  2. Syntaxe pour égalité entre deux lignes : var(i)=var(i+1)
    Par NemoParis dans le forum Débutez
    Réponses: 2
    Dernier message: 28/05/2010, 09h55
  3. Réponses: 2
    Dernier message: 14/07/2006, 18h37
  4. [Tableaux] Array sur deux colonnes et foreach..
    Par shadeoner dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2006, 08h46
  5. Swap entre deux colonnes pour 2 enregistrements
    Par Erakis dans le forum SQL Procédural
    Réponses: 12
    Dernier message: 15/12/2005, 19h09

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