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 :

[Tableaux] boucle while


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut [Tableaux] boucle while
    Bonjour,

    Je narrive pas a regler un pb pourtant tres simple vous allez me dire !
    Voila jai le code suivant :
    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
    <table width="95%"  border="0" cellpadding="0" cellspacing="0">
     <tr><td>
     	<table width="100%" border="0" cellpadding="0" cellspacing="0">
    	 <tr>
        <td colspan="3" align="left">&nbsp;<strong>VOS ALERTES</strong></td>
       </tr>
    	</table>
     </td></tr>
     <tr>
      <td>
    	<table width="100%" border="0" cellspacing="0" bgcolor="#F9F9FB">
      <?
      while ($PRODUIT= mysql_fetch_array ($RESULTAT)){
      	extract ($PRODUIT);
    	?>
      <tr>
        <td align="left">&nbsp;<? echo $TITRE_ALERTES; ?>&nbsp;</td>
        <td align="left"><? echo $TEXTE_ALERTES; ?>&nbsp;&nbsp;</td>
        <td align="center"><? echo dateFormat_affiche($DATE_ALERTES); ?></td>
      </tr>
      <tr><td colspan="3"><img src="images/noir.gif" border="0" width="100%" height="1"></td></tr>
      <? } ?>
      </table>
    	</td>
     </tr>
    </table>
    Mon pb est que ne sont affiches que 2 lignes alors que jai 3 entrees dans la table 'alertes' !!

    ?

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    et avec mysql_fetch_assoc ça change qqch ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    Tu es sur que tu n'as pas un mysql_fetch_array() présent avant ta boucle ?

    Erreur courrante de débutant/innatention

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

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, tu es sûr que ta requête retourne les 3 résultats :

  5. #5
    Membre actif
    Inscrit en
    Septembre 2005
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Points : 220
    Points
    220
    Par défaut
    fait un echo après ta requête pour savoir quels sont les valeurs renvoyées.peut être est là le problème

  6. #6
    Membre habitué Avatar de dor_boucle
    Inscrit en
    Juin 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 147
    Points : 136
    Points
    136
    Par défaut
    fait un echo de ta requete sql et copie colle là dans mysql (ou la bdd que tu utilise) pour vérifier que tu as bien 3 resultats.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    Merci pour vos nombreuses reponses !

    1. Concernant lastuce du echo et du test dans mysql, je lavais deja fait. Et ma requete me retourne bien 3 resultats, cest pourquoi je pose la question sur le forum.

    2. Le mysql_fetch_assoc ne change rien.

    3. Je peux precise que jai un autre bout de code qui m'affiche le nombre dalertes :
    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
    $REQUETE_ALERTES = "select *";
    $REQUETE_ALERTES.= " from alertes";
    $REQUETE_ALERTES.= " where DESTINATAIRE='".$RECUP_LOGIN."' order by DATE_ALERTES";
    $RESULTAT_ALERTES= mysql_query ($REQUETE_ALERTES, $CONNEXION);
    $NB_ALERTES= mysql_num_rows ($RESULTAT_ALERTES);
    //echo $REQUETE;
     
    /**************************Nombre d'alertes********************************/
    if($NB_ALERTES==1){
    	$PRODUIT_ALERTES=mysql_fetch_array ($RESULTAT_ALERTES);
    	extract ($PRODUIT_ALERTES);
    	$ALERTES= "<a href=\"accueil.php?page=alertes&".$PASSAGE."&".$ID."\" class=\"MESSAGE_1\">Vous avez 1 alerte</a>.";
    }
    elseif($NB_ALERTES>1){
    	$PRODUIT_ALERTES=mysql_fetch_array ($RESULTAT_ALERTES);
    	extract ($PRODUIT_ALERTES);
    	$ALERTES= "<a href=\"accueil.php?page=alertes&".$PASSAGE."&".$ID."\" class=\"MESSAGE_1\">Vous avez ".$NB_ALERTES." alertes</a>.";
    }
    else{
    	$ALERTES= "<span class=\"MESSAGE_1\">Vous n'avez pas d'alerte</span>.";
    }
    Et j'ai bien 3 alertes : "Vous avez 3 alertes."

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

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, à mon avis, il faut enlever
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $PRODUIT_ALERTES=mysql_fetch_array ($RESULTAT_ALERTES); 
    extract ($PRODUIT_ALERTES);
    dans le code que tu viens de donner (dans le if et le elseif)
    C'est ce qui te décale d'un rang tes résultats

    Ca donne quoi :

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    OUUUIIIII magnifique
    cetait ca effectivement ... surtout que je me suis rendu compte que je navais meme pas besoin de faire un extract !
    Merci

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

Discussions similaires

  1. [Tableaux] boucle , for , while
    Par marty499 dans le forum Langage
    Réponses: 4
    Dernier message: 09/04/2008, 11h10
  2. [Tableaux] Boucle while + passer un tour
    Par Girzi dans le forum Langage
    Réponses: 12
    Dernier message: 28/06/2006, 10h41
  3. [Tableaux] boucle while qui ne boucle pas comme je veux
    Par oceane751 dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2006, 00h42
  4. [Tableaux] Ma boucle While ne va pas !!!
    Par tigzirt dans le forum Langage
    Réponses: 7
    Dernier message: 05/05/2006, 11h47
  5. [Tableaux] Boucle while imbriquer
    Par Le-Cortex dans le forum Langage
    Réponses: 11
    Dernier message: 09/09/2005, 14h22

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