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

PHP & Base de données Discussion :

Select dans une boucle while [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut Select dans une boucle while
    Bonjour,

    Je suis completement bloque et je ne trouve pas de solution. Je viens donc une fois de plus demander de l'aide

    Je veux faire une calendrier avec pour certains jours un lien vers une autre page.

    J'ai fait cela:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    while ($i<=$nombreDeJours)
    {
    $requete="select date from bpv_com WHERE link_id IN ('5','6','7','8','12')";
    $result = mysql_fetch_array(mysql_query($requete)); 
     
    echo "<td width=\"12,5%\">";
     
    $date_actitees=$year."-".$month."-".$i;
     
    IF ($result[0] == $date_actitees)
    {
     
    echo "<a href=\"organisation.php?date=".$date_actitees."\">$i</a>";
    }else
    {
    echo $i;
    }
    echo "</td>";
    $i=$i+1;
    $j=$j+1;
    if ($j==7)
    {
    echo "</tr><tr>";
    $j=0;
    }
    }
     
    ?>
    Lorsque j'ecris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF ($result[0] == $date_actitees)
    il me met bien un lien juste pour la valeur de result[0]. Maintenant je voudrais que il passe en revu toutes les valeurs de result ($result[0] $result[1]$result[2]....) pour qu'un lien soit cree a chaque valeur qui correspond a la date $date_actitees.

    style $result[$i-1] mais je ne sais pas comment faire cela!

    Merci de votre aide.

  2. #2
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    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
    20
    21
    22
    23
    24
    25
    26
    27
    $requete="select date from bpv_com WHERE link_id IN ('5','6','7','8','12')";
    while($result = mysql_fetch_array(mysql_query($requete))){ 
     
    echo "<td width=\"12,5%\">";
     while ($i<=$nombreDeJours)
    {
    $date_actitees=$year."-".$month."-".$i; 
    IF ($result[0] == $date_actitees)
    {
     
    echo "<a href=\"organisation.php?date=".$date_actitees."\">$i</a>";
    }else
    {
    echo $i;
    }
    echo "</td>";
    $i=$i+1;
    $j=$j+1;
    if ($j==7)
    {
    echo "</tr><tr>";
    $j=0;
    }
    }
    }
     
    ?>

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut
    non ca ne fonctionne pas (ca creer un boucle sans fin et plante FF)

    par contre ca m'a donne une idee qui fonctionne

    je cree un array avant la boucle puis je fais une recherche dans l'array pour voir si ma valeur est presente.
    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
     
    $requete="select date from bpv_com WHERE link_id IN ('5','6','7','8','12')";
    //$result = mysql_fetch_array(mysql_query($requete));
    $requete1 = mysql_query( $requete, $link ) or die;
    $table = array();
    while ($result = mysql_fetch_array($requete1)){
    $table[] = $result['date'];
     
    }
     
    while ($i<=$nombreDeJours)
    {
    echo "<td width=\"12,5%\">";
    $date_actitees=$year."-".$month."-".$i;
     
    IF (in_array($date_actitees, $table))
    .....
    Ca fonctionne bien sauf pour les 9 premiers jours du mois car $i<=$nombreDeJours donne comme resultat "1" "2" etc.... et que dans la BDD les informations sont ecrite "01" "02"

    comment faire pour que $i = 01 et non pas 1
    Merci

  4. #4
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    sinon pour faciliter ton traitement php tu peux aussi mettre en base un calendrier .. et tu fais seulement de l'affichage en php..

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut
    salut,

    Je ne suis pas sur de comprendre ce que tu veux me dire

    Je n'ai pas du etre clair dans ma demande,
    Le code fonctionne bien sauf que pour les 9 premiers jours du mois $i<=$nombreDeJours donne comme resultat "1" "2" etc.... et dans la BDD les informations sont ecrite "01" "02"

    comment faire pour que $i = 01 et non pas $i =1,

    existe-il une foncion PHP qui ferait cela automatiquement.

    Merci

  7. #7
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    Citation Envoyé par voyageurdumonde Voir le message
    salut,

    Je ne suis pas sur de comprendre ce que tu veux me dire

    Je n'ai pas du etre clair dans ma demande,
    Le code fonctionne bien sauf que pour les 9 premiers jours du mois $i<=$nombreDeJours donne comme resultat "1" "2" etc.... et dans la BDD les informations sont ecrite "01" "02"

    comment faire pour que $i = 01 et non pas $i =1,

    existe-il une foncion PHP qui ferait cela automatiquement.

    Merci
    et si tu regardais juste au dessus le lien que je t'ai mis :
    str_pad()

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut
    Desole Vorace, j'avais juste vu la reponse de boo64.
    Merci pour l'info

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

Discussions similaires

  1. Problème de SCANF dans une boucle WHILE
    Par FidoDido® dans le forum C
    Réponses: 4
    Dernier message: 30/12/2005, 17h42
  2. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  3. [Performance] LEFT JOIN vs SELECT dans une boucle (PHP)
    Par frochard dans le forum Requêtes
    Réponses: 4
    Dernier message: 28/10/2005, 17h45
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

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