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 while et session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut boucle while et session
    bonjour à tous

    voilà j'ai une boucle while (qui me retourne 2 résultats) que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if($tab_com = mysql_query($sql1))
    {
     
      while ($dispo=mysql_fetch_array($tab_com))
     {
       $_SESSION['dispo'][0] = $dispo[0];
       echo $dispo[0]."chambre dispo<br>";
    }
    }
    et j'aimerais recuperer les resultats de cette boucle sur une page suivante
    sur la page suivante j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $dispo[0] = $_SESSION['dispo'][0];
    echo $dispo[0]."CHAMBRE DISPO<br>";
    mais au lieu de me retourner les 2 résultats voulus, j'en ais qu'1.

    en faite je comprends pas pourquoi ça ne marche pas.
    quelqu'un pourrait il m'eclaircir?

    merci beaucoup..

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    c logique dans la boucle while rien ne varie donc si tu veu le 2nd resultat efface le second...
    au lieu de 0 met [$i] uqe tincremente

  3. #3
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    oki
    bon on m'a aidé et j'ai fait un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $i = 0;
     if($tab_com = mysql_query($sql1))
    {
     
      while ($dispo=mysql_fetch_array($tab_com))
     {
       $_SESSION['dispo'][$i] = $dispo[$i];
       echo $dispo[$i]."chambre dispo<br>";
    }
    $i = $i++;
    }
    mais quand je passe à l'autre page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $dispo[$i] = $_SESSION['dispo'][$i];
     
    echo $dispo[$i]."CHAMBRE DISPO<br>";
    il reconnait plus le $i

    pffuu

  4. #4
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Si tu as que 2 résultats tu mets pas $i mais les numéros:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $dispo[0] = $_SESSION['dispo'][0];
    $dispo[1] = $_SESSION['dispo'][1];
    echo $dispo[0]."CHAMBRE DISPO<br>";
    Si le nombre de lignes est inconnu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($tab_com = mysql_query($sql1)) {
       $i = 0;
       while ($dispo=mysql_fetch_array($tab_com)) {
          $_SESSION['dispo'][] = $dispo[$i];
          echo $dispo[$i]."chambre dispo<br>";
          $i++;
       }
    }
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $i = 0;
    while (isset($_SESSION['dispo'][$i])) {
       $dispo[] = $_SESSION['dispo'][$i];
    }

  5. #5
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Salut, une boucle foreach pourrait aussi t'être très utile

  6. #6
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    bon j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if($tab_com = mysql_query($sql1)) 
      {
        while ($dispo=mysql_fetch_array($tab_com))
          {
            $_SESSION['dispo'][] = $dispo[0];
            echo $dispo[0]."chambre dispo<br>";
    }
    }
    et sur la page d'après :
    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
    18
    19
     
     $dispo[0] = $_SESSION['dispo'][0];
     
     $dispo[1] = $_SESSION['dispo'][1];
     
     
     if (isset ( $dispo[0]))
    {
    echo $dispo[0]."CHAMBRE DISPO dispo<br>";
    }
     else { echo "";}
     
    if (isset ( $dispo[1]))
     {
     
    echo $dispo[1]."CHAMBRE DISPO dispo1<br>";
     }
     else
     {echo ""; }
    mais il m'affiche quand meme 2 résultats alors qu'il devrait m'afficher 1 seul

Discussions similaires

  1. boucle while trop lente
    Par atouze dans le forum Access
    Réponses: 17
    Dernier message: 15/06/2005, 16h35
  2. Boucle while & read
    Par gibet_b dans le forum Linux
    Réponses: 4
    Dernier message: 29/04/2005, 15h38
  3. boucle while et post incrémentation
    Par tut dans le forum C++
    Réponses: 7
    Dernier message: 10/12/2004, 17h24
  4. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51
  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