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 :

boucle et session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut boucle et session
    bonjour, je suis novice sur ce forum

    bon mon problème:

    j'ai une boucle avec laquelle je fais apparaître des valeurs, et ces valeurs, je voudrais les ravoirs dans une session.

    mon bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $req = mysql_query("SELECT * FROM perso WHERE id='".$id."'");
    while($data = mysql_fetch_array($req)) 
    {
        echo '<option>'.$data['valeur'].'</option>';
    }

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['valeur'][]=$data[valeur];
    En passant aussi, il faut mettre un attribut value a tes balises option.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    désoler Raideman mais c'est pas ce que je cherche enfin je crois, en fait, je fais ma boucle et je veux par exemple prendre la 15 ème valeur de la boucle sur les 20 existantes.

    Le problème c'est que quand je fais ça, il m'affiche toujours la 20ème valeur quand je le faisait avant avec "$_SESSION['valeur']=$data[valeur];"

    Je comprend pas pourquoi ça me fais ça.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Raideman vous a déjà donné la solution (regardez bien la différence) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while($data = mysql_fetch_array($req)) 
    {
        echo '<option>'.$data['valeur'].'</option>';
        $_SESSION['valeur'][] = $data['valeur'];
    }
    print_r($_SESSION['valeur']);
    On pourrait l'écrire autrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $_SESSION['valeur'] = array();
    while($data = mysql_fetch_array($req)) 
    {
        echo '<option>'.$data['valeur'].'</option>';
        array_push($_SESSION['valeur'], $data['valeur']);
    }
    print_r($_SESSION['valeur']);
    @Raideman : la syntaxe $data[valeur] n'est pas recommandée d'autant plus qu'elle génère des warning car PHP va d'abord chercher une constante nommée valeur avant de la transformer en une chaîne de caractères si une constante du même nom n'existe pas.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    c'est toujours pas ça...

    pourtant ça ma l'air pas trop compliquer mais j'y arrive pas.

    Je me réexprime le mieux possible:

    je veux dans une page comprenant le haut de la page faire une liste déroulante où mon code ressemble à:
    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
    16
    17
    <form name="choix">
    <select name="liste" >
     
    <?php
    //ma connection à ma bdd ici
     
    $id = $_SESSION['id'];
    $req = mysql_query("SELECT * FROM perso WHERE id='".$id."'"); 
    while($data = mysql_fetch_array($req)) 
    {  
    echo '<option>'.$data['valeur'].'</option>'; 
    }
     
    ?>
     
    </select>
    </form>

    et dans une page de mon menu, j'aimerais afficher $valeur:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $chateau_selecte = $_SESSION['chateau'];
    echo $chateau_selecte;
    ?>

  6. #6
    Membre expérimenté Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Par défaut
    heu pour récupérer le chateau sélectionné dans ta liste déroulante, il faut le récupérer en POST (et apres tu pourras le mettre en session à la limite...)

Discussions similaires

  1. Boucle et session identification
    Par gwendoline-bricout dans le forum Langage
    Réponses: 4
    Dernier message: 14/10/2013, 10h23
  2. Boucle Foreach + sessions
    Par sabine2000 dans le forum Langage
    Réponses: 3
    Dernier message: 15/09/2011, 19h13
  3. boucle sur session
    Par sam01 dans le forum Langage
    Réponses: 6
    Dernier message: 21/03/2006, 17h31
  4. [Sécurité] Somme sur session et boucle
    Par hugo69 dans le forum Langage
    Réponses: 5
    Dernier message: 22/11/2005, 11h28
  5. [débutant]Documentation? boucle "while"? Session?
    Par o151181 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/01/2004, 15h20

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