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 :

Entrer à chaque itération d'une boucle while, une valeur dans un array


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 557
    Points : 286
    Points
    286
    Par défaut Entrer à chaque itération d'une boucle while, une valeur dans un array
    Bonjour, j'ai un soucis avec les array,

    je voudrais faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $users = array('Marc', 'Paul', 'Joseph', 'Michel');
    donc ça c'est bon, ça marche...

    Mais sauf que moi c'est des variables php.

    donc moi j'ai ma requête sql plus haut, et j'ai la boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while($ligne=mysql_fetch_assoc($req)){
    	$users= array($ligne['login']);
    }
    ça marche pas.... les login des utilisateurs ne s'entrent pas dans le array

    je le vérifie car j'ai un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (in_array(strtoupper("toto"), $users))
    après.

    merci

  2. #2
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    Bonjour,

    dans ton code, à chaque boucle tu écrases ta variable avec un nouveau tableau. Ce que tu dois faire, c'est créer un tableau avant la boucle et le remplir avec tes données dans la boucle. (soit avec [] soit avec array_push)

  3. #3
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 557
    Points : 286
    Points
    286
    Par défaut
    ah merci pour ta réponse, ça explique l'erreur.

    j'ai essayé avec array_push,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $users = array('admin');
     
    while($ligne=mysql_fetch_assoc($req)){
    	$users= array_push($users, $ligne['login']);}
    en vain.

    je cherche encore

  4. #4
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 557
    Points : 286
    Points
    286
    Par défaut
    il y a un truc que je ne comprends pas, quand on entre les prénoms en minuscules dans le array, il ne les reconnait pas.

    edit: c'est parce que j'utilisais strtoupper... (c'est pas mon code à l'origine )

  5. #5
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    Le prototype de array_push est le suivant :

    int array_push ( array &$array , mixed $var [, mixed $... ] )

    dans ton utilisation, tu mets bien la variable dans le tableau, mais tu écrase le tableau par le retour de la fonction.
    il y a un truc que je ne comprends pas, quand on entre les prénoms en minuscules dans le array, il ne les reconnait pas.
    Tu teste avec strtoupper, ce qui transforme ta chaine en majuscule. si dans ton tableau tu as des login en minuscule, cela ne fonctionneras pas.

  6. #6
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 557
    Points : 286
    Points
    286
    Par défaut
    exact exact,

    j'ai modifié mon dernier message à ce sujet des minuscules.

    et j'avais déjà modifié mon array_push, je l'ai réutilisé comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $users = array('admin');
     
    while($ligne=mysql_fetch_assoc($req)){
    	array_push($users, $ligne['login']);
    }

  7. #7
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 557
    Points : 286
    Points
    286
    Par défaut
    et ça marche. je te remercie pour ton aide

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

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. Passer d'une boucle FOR à une boucle WHILE
    Par mohsenuss91 dans le forum Langage
    Réponses: 6
    Dernier message: 01/05/2011, 14h54
  3. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  4. Réponses: 3
    Dernier message: 25/11/2008, 17h01
  5. [MySQL] affichage d'une liste avec une boucle while
    Par Invité dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/01/2007, 20h19

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