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 incrémentée par date


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut boucle incrémentée par date
    Bonjour à tous,

    Dans la version actuelle de mon site j'ai un agenda ou les évènements s'affiche dans une page par date et ou une boucle les classes par catégorie (concert, théâtre ...).

    Je veux créer une page agenda ou les évènements s'affiche dans une page par catégorie et ou s'afficheront toutes les dates de la même catégorie grâce à une boucle.
    Malheureusement je ne suis pas un champion du code et la je galère pour paramétrer ma boucle.

    A votre avis comment paramétrer ma boucle ? Comment la coder ?

    Voici mon code source de la page (probablement erroné) :


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    <?
     
    /*-----------------------------------
    *     Includes    
    -------------------------------------*/
    /**/ require_once("./includes/inc_newsFunctions.php");
     
     
    /*************************************
    PARAMS' DEFAULT VALUES
    *************************************/
    $choixagenda = "";
    $nbrSoireeAffiche = 0;
    $nbrAgendaDate = $nbrTodayNewsDate;
     
    /*************************************
    VARIABLE
    *************************************/
     
    // Variable Get 
    if ( strlen($HTTP_GET_VARS['showdate']) > 15 ) { 
    // si l'id n'est pas passée en variable 
    setErrorMessage(L_ERROR_AGENDA);
    ?>
    <script>
    window.location = '../n63show.php';
    </script>
    <?    exit(); 
    } else { 
    if ( isset($HTTP_GET_VARS['showdate']) && is_numeric($HTTP_GET_VARS['showdate']) ){
    $nbrAgendaDate = $HTTP_GET_VARS['showdate']; 
    }
    }    
     
    /*************************************
    Constante de date
    *************************************/
     
    $jour = date( "d", $nbrAgendaDate );
    $mois = date( "m", $nbrAgendaDate );
    $moisagenda = translateDate( date( "M", $nbrAgendaDate) );
    $annee = date( "Y", $nbrAgendaDate );
     
    $selection     = 0;
    $titredate2 = $jour.' '.$moisagenda.' '.$annee;
     
    ?>
    <table width="580" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr> 
    <td colspan="2">
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr valign="top"> 
    <td colspan="2" valign="middle"> 
    <? $sqlQuery =
    " SELECT SOIREE_DATE " .
    " FROM SOIREE".
    " ORDER BY SOIREE_ID ASC"; 
    $req = mysql_query($sqlQuery);
    checkSqlError($sqlQuery);
    $nbreTypeSoiree = mysql_num_rows($req);
    $evenementListe = mysql_fetch_array($req); ?>
    </td>
    </tr>
    </table>
    <fieldset> 
    <legend class="legend">Concerts - <? echo(getDepartementFromId($idSecteur, $idDepartement)) ?>&nbsp;</legend>
    <br>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td><p>
    <?
    //début de la boucle d'affichage des cadres d'événements
    for ($boucleSoireeType = 1; $boucleSoireeType <= $nbreTypeSoiree ; $boucleSoireeType++) 
    {
     
     
    //recherche le type de la selection en cours
    $sqlQuery =
    " SELECT SOIREE_DATE ".
    " FROM SOIREE ".
    " WHERE UNIX_TIMESTAMP(SOIREE_DATE) = '$boucleSoireeType'". 
    " ORDER BY SOIREE_ID DESC LIMIT 0,1"; 
    $req = mysql_query($sqlQuery);
    checkSqlError($sqlQuery);
    $soireeType = mysql_fetch_array($req);
     
     
    //recherche les valeurs des soirées de la selection en cours 
    $sqlQuery =
    " SELECT SOIREE_ID , EVENEMENT_TYPE_LABEL , SOIREE_TITLE , SOIREE_DESCRIPTION , SOIREE_DATE , SOIREE_DATE_FIN , SOIREE_LIEU , SOIREE_PRIX , SOIREE_HEURE" .
    " FROM SOIREE ".
    " INNER JOIN EVENEMENT_TYPE ON EVENEMENT_TYPE.EVENEMENT_TYPE_ID = SOIREE_TYPE". 
    " WHERE ( SOIREE_SECTEUR = '$idSecteur' AND UNIX_TIMESTAMP(SOIREE_DATE) = $nbrAgendaDate AND SOIREE_TYPE = '1' )".
    " OR ( UNIX_TIMESTAMP(SOIREE_DATE) < '$nbrAgendaDate' AND UNIX_TIMESTAMP(SOIREE_DATE_FIN) >='$nbrAgendaDate' AND SOIREE_SECTEUR = '$idSecteur') AND SOIREE_TYPE = '1'".
    " ORDER BY SOIREE_ID DESC "; 
    $req = mysql_query($sqlQuery);
    checkSqlError($sqlQuery);
    $nbreligne = mysql_num_rows($req);    
     
    //si pas de réponse on affiche pas le code 
    if ( $nbreligne ) 
    { ?>
    </p>
    <table width="95%%" border="0" align="center" cellspacing="0">
    <tr> 
    <td valign="bottom"> <p><strong> <? echo($soireeType['SOIREE_DATE']) ?></strong></p></td>
    </tr>
    </table>
    <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="agenda_center">
    <tr> 
    <td> 
    <?
    // boucle d'affichage des soir&eacute;es
    while($data = mysql_fetch_array($req))
    {    
    $nbrSoireeAffiche ++ ;
    $agendadatefin=$data['SOIREE_DATE_FIN'];?>
    <table width="95%" border="0" align="center" cellspacing="0">
    <tr valign="bottom"> 
    <td colspan="2"></td>
    </tr>
    <tr> 
    <td width="69%" valign="top"><blockquote> 
    <p><a class="agenda" href="n63show.php?link=agendadetail&amp;idAgendaDetail=<? echo($data['SOIREE_ID']) ?>"><? echo($data['SOIREE_TITLE']) ?></a> 
     
     
    Lieu: <? if ( isPlace($data['SOIREE_LIEU']) ) 
    { ?>
    <a href="n63show.php?link=detail&idDetail=<? echo(isPlace($data['SOIREE_LIEU'])) ?>" class="messagedate"><? echo($data['SOIREE_LIEU'] )?></a> 
    <? } else {    
    echo($data['SOIREE_LIEU']);
    }?>
     
    </p>
    </blockquote></td>
    <td width="31%" valign="top"><ul>
    <li>Tarifs: 
    <? if ( $data['SOIREE_PRIX'] == 0) { ?>
    Gratuit 
    <? } if ( $data['SOIREE_PRIX'] > 0 && $data['SOIREE_PRIX'] < 999) { ?>
    <? echo($data['SOIREE_PRIX']) ?> &euro; 
    <? } if ( $data['SOIREE_PRIX'] == 999) { ?>
    Nc 
    <? } ?>
     
     
    [<a class="messagelink" href="n63show.php?link=agendadetail&amp;idAgendaDetail=<? echo($data['SOIREE_ID']) ?>">+ 
    de d&eacute;tails</a>]</li>
    </ul></td>
    </tr>
    </table>
    <? } ?>
    </td>
    </tr>
    </table>
    <br> <p>&nbsp;</p>
    <p> 
    <? //fin du test 
    }
     
    }
     
    if ( $nbrSoireeAffiche == 0 ) {
    ?>
    </p>
    <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="agenda_center">
    <tr> 
    <td>
    <hr width="90%" /> <p align="center">!!! Aucune activit&eacute; 
    ce soir !!!
     
    </p>
    <hr width="90%" /> 
    </td>
    </tr>
    </table>
    <p align="left"> 
    <? 
    }?>
    </p>
    <p>&nbsp;</p></td>
    </tr>
    </table>
    </fieldset>
    <p>&nbsp; </p>
    </td>
    </tr>
    </table>

  2. #2
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    J'ai tenté de trouver une solution ... en vain.

    Voici ou j'en suis :

    Merci à tous ceux qui pourront m'aider

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
     
    <?
     
    /*-----------------------------------
     *			Includes						
     -------------------------------------*/
    /**/ require_once("./includes/inc_newsFunctions.php");
     
     
    /*************************************
    		PARAMS' DEFAULT VALUES
     *************************************/
    $choixagenda = "";
    $nbrSoireeAffiche = 0;
    $nbrAgendaDate = $nbrTodayNewsDate;
     
    /*************************************
    		       VARIABLE
     *************************************/
     
    // Variable Get 
    if ( strlen($HTTP_GET_VARS['showdate']) > 15 )  { 
    // si l'id n'est pas passée en variable  
    	setErrorMessage(L_ERROR_AGENDA);
    	?>
    	<script>
    		window.location = '../n63show.php';
    	</script>
    <?	exit(); 	 
    } else {  
    	 if ( isset($HTTP_GET_VARS['showdate']) && is_numeric($HTTP_GET_VARS['showdate']) ){
    	 	$nbrAgendaDate = $HTTP_GET_VARS['showdate']; 
    	 }
    }	
     
    /*************************************
    		Constante de date
     *************************************/
     
    $jour  			= date( "d", $nbrAgendaDate 					);
    $mois  			= date( "m", $nbrAgendaDate 					);
    $moisagenda  	= translateDate( date( "M", $nbrAgendaDate)  	);
    $annee 			= date( "Y", $nbrAgendaDate 					);
     
    $selection		= 0;
    $titredate2 	= $jour.' '.$moisagenda.' '.$annee;
     
    ?>
    <table width="580" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr> 
        <td colspan="2">
    	 <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
            <tr valign="top"> 
              <td colspan="2" valign="middle"> 
                    <? $sqlQuery =
    					" SELECT SOIREE_DATE " .
    					" FROM SOIREE".
    					" WHERE SOIREE_TYPE = '1' AND SOIREE_DATE = 'CURRENT_DATE' AND SOIREE_SECTEUR = '$idSecteur'".
    					" ORDER BY SOIREE_ID ASC"; 
    				$req = mysql_query($sqlQuery);
    				checkSqlError($sqlQuery);
    				$nbreSoiree = mysql_num_rows($req);
    				$soireeListe = mysql_fetch_array($req); ?>
                    </td>
            </tr>
          </table>
          <fieldset> 	
          		<legend class="legend">Concerts - <? echo(getDepartementFromId($idSecteur, $idDepartement)) ?>&nbsp;</legend>
    				<br>
    	  <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><p>
                  <?
    //début de la boucle d'affichage des cadres d'événements
    	for ($soireeDate = mktime(0,0,0,$mois,$jour,$annee ); $nbreSoireeBis <= $nbreSoiree ; $soireeDate = mktime(0,0,0,$mois,$jour+1,$annee )) 
    	{
     
     
    		//recherche le type de la selection en cours
    		$sqlQuery =
    			" SELECT SOIREE_DATE ".
    			" FROM SOIREE ".
    			" WHERE SOIREE_TYPE = '1' AND SOIREE_DATE = 'CURRENT_DATE' AND SOIREE_SECTEUR = '$idSecteur'". 
    			" ORDER BY SOIREE_ID DESC LIMIT 0,1"; 
    			$req = mysql_query($sqlQuery);
    			checkSqlError($sqlQuery);
    			$nbreSoireeBis = mysql_num_rows($req);
    			$soireeDate = mysql_fetch_array($req);
     
     
    		//recherche les valeurs des soirées de la selection en cours 			
    		$sqlQuery =
    			" SELECT SOIREE_ID , EVENEMENT_TYPE_LABEL , SOIREE_TITLE , SOIREE_DESCRIPTION , SOIREE_DATE , SOIREE_DATE_FIN , SOIREE_LIEU , SOIREE_PRIX , SOIREE_HEURE" .
    			" FROM SOIREE ".
    			" 	INNER JOIN EVENEMENT_TYPE ON EVENEMENT_TYPE.EVENEMENT_TYPE_ID = SOIREE_TYPE". 
    			" 	WHERE ( SOIREE_SECTEUR = '$idSecteur' AND UNIX_TIMESTAMP(SOIREE_DATE) = $nbrAgendaDate AND SOIREE_TYPE = '1' )".
    			" 	OR ( UNIX_TIMESTAMP(SOIREE_DATE) < '$nbrAgendaDate' AND UNIX_TIMESTAMP(SOIREE_DATE_FIN) >='$nbrAgendaDate' AND SOIREE_SECTEUR = '$idSecteur') AND SOIREE_TYPE = '1'".
    			" ORDER BY SOIREE_ID DESC "; 
    			$req = mysql_query($sqlQuery);
    			checkSqlError($sqlQuery);
    			$nbreligne = mysql_num_rows($req);		
     
    				//si pas de réponse on affiche pas le code 	 
    				if ( $nbreligne ) 
    				{ ?>
                </p>
                <table width="95%%" border="0" align="center" cellspacing="0">
                  <tr> 
                    <td valign="bottom"> <p><strong> <? echo($soireeDate['SOIREE_DATE']) ?></strong></p></td>
                  </tr>
                </table>
                <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="agenda_center">
                  <tr> 
                    <td> 
                      <?
    					// boucle d'affichage des soir&eacute;es
    					while($data = mysql_fetch_array($req))
    					{					
    						$nbrSoireeAffiche ++ ;
    						$agendadatefin=$data['SOIREE_DATE_FIN'];?>
                      <table width="95%" border="0" align="center" cellspacing="0">
                        <tr valign="bottom"> 
                          <td colspan="2"></td>
                        </tr>
                        <tr> 
                          <td width="69%" valign="top"><blockquote> 
                              <p><a class="agenda" href="n63show.php?link=agendadetail&amp;idAgendaDetail=<? echo($data['SOIREE_ID']) ?>"><? echo($data['SOIREE_TITLE']) ?></a> 
                                <br />
                                Lieu:  <? if ( isPlace($data['SOIREE_LIEU']) ) 
    		   		{ ?>
                  <a href="n63show.php?link=detail&idDetail=<? echo(isPlace($data['SOIREE_LIEU'])) ?>" class="messagedate"><? echo($data['SOIREE_LIEU'] )?></a> 
                  <? } else {				 
    				   	echo($data['SOIREE_LIEU']);
    				}?><br />
                              </p>
                            </blockquote></td>
                          <td width="31%" valign="top"><ul>
                              <li>Tarifs: 
                                <? if  ( $data['SOIREE_PRIX'] == 0) { ?>
                                Gratuit 
                                <? } if  ( $data['SOIREE_PRIX'] > 0 && $data['SOIREE_PRIX'] < 999) { ?>
                                <? echo($data['SOIREE_PRIX']) ?> &euro; 
                                <? }  if  ( $data['SOIREE_PRIX'] == 999) { ?>
                                Nc 
                                <? } ?>
                                <br />
                                [<a class="messagelink" href="n63show.php?link=agendadetail&amp;idAgendaDetail=<? echo($data['SOIREE_ID']) ?>">+ 
                                de d&eacute;tails</a>]</li>
                            </ul></td>
                        </tr>
                      </table>
                      <? } ?>
                    </td>
                  </tr>
                </table>
                <br> <p>&nbsp;</p>
                <p> 
                  <? //fin du test 		
    	}
     
    }
     
    if ( $nbrSoireeAffiche == 0 ) {
    ?>
                </p>
                <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="agenda_center">
                  <tr> 
                    <td><br /> <hr width="90%" /> <p align="center">!!! Aucune activit&eacute; 
                        ce soir !!!<br />
                      </p>
                      <hr width="90%" /> <br /></td>
                  </tr>
                </table>
                <p align="left"> 
                  <?         
    }?>
                </p>
                <p>&nbsp;</p></td>
            </tr>
          </table>
    	  </fieldset>
          <p>&nbsp; </p>
        </td>
      </tr>
    </table>

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    qu'est ce qui ne fonctionne pas dans ce code ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    En effet pardon j'ai oublie quelques infos.
    Voici le lien de la page ou la boucle ne fonctionne pas
    http://www.nightfever.fr/n63show.php?link=agendaconcert

    Je souhaiterais que s'affiche la date d'aujourd hui avec les concerts d'aujourd'hui, en dessous ceux de demain ...
    Seulement ca ne m'affiche que les dates du 15/08 (du moins a ce jour) et ca le fait en boucle.

    Qu est ce qui ne va pas dans mon code? La boucle en elle meme? Le format des dates?

    Je veux appeler le champ soiree_date (format yyyy-mm-dd) de la table soiree et l'incrementer par jour jusqu a ce qu il n y ait plus de chose a afficher dans la base.

    Merci par avance de votre aide

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton site retourne une erreur 500.

    Dans ta requête je vois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SOIREE_DATE = 'CURRENT_DATE'
    Je pense plutot que tu veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SOIREE_DATE = CURDATE()
    $HTTP_GET_VARS est une vieille notation, on utilise $_GET depuis PHP4.1


    Sur le fond, faire une boucle qui fait une requête par jour est très lourd.
    Utilise plutot une requête qui lit toute la période.
    Par exemple tous les jours de maintenant à dans 5 jours :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE SOIREE_DATE BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 5 DAY)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    Merci beaucoup pour reponse, je fais les modifs des ce soir.
    Par contre sais-tu comment appeler mon champ soiree_date au niveau de ma boucle? Dois je utiliser la fonction mktime?

    Merci encore !

  7. #7
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    J'ai tenté de faire une boucle avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE SOIREE_DATE BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 5 DAY)
    mais ca ne fonctionne pas.

    Je boucle toujours sur le meme evenement sans incrémentation de date.

    Je suppose que mon format de date est faux ou que ma boucle est mal codée.

    A votre avis qu'est ce qui cloche dans le code ?

    Voici ou en est le code actuellement :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    <?
     
    /*-----------------------------------
     *			Includes						
     -------------------------------------*/
    /**/ require_once("./includes/inc_newsFunctions.php");
     
     
    /*************************************
    		PARAMS' DEFAULT VALUES
     *************************************/
    $choixagenda = "";
    $nbrSoireeAffiche = 0;
    $nbrAgendaDate = $nbrTodayNewsDate;
     
    /*************************************
    		       VARIABLE
     *************************************/
     
    // Variable Get 
    if ( strlen($_GET['showdate']) > 15 )  { 
    // si l'id n'est pas passée en variable  
    	setErrorMessage(L_ERROR_AGENDA);
    	?>
    	<script>
    		window.location = '../n63show.php';
    	</script>
    <?	exit(); 	 
    } else {  
    	 if ( isset($_GET['showdate']) && is_numeric($_GET['showdate']) ){
    	 	$nbrAgendaDate = $_GET['showdate']; 
    	 }
    }	
     
    /*************************************
    		Constante de date
     *************************************/
     
    $jour  			= date( "d", $nbrAgendaDate 					);
    $mois  			= date( "m", $nbrAgendaDate 					);
    $moisagenda  	= translateDate( date( "M", $nbrAgendaDate)  	);
    $annee 			= date( "Y", $nbrAgendaDate 					);
     
    $selection		= 0;
    $titredate2 	= $jour.' '.$moisagenda.' '.$annee;
     
    ?>
    <table width="580" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr> 
        <td colspan="2">
    	 <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
            <tr> 
              <td width="280" align="left" valign="top"><p>
                <?  //on insert les news 					
    				include ("./includes/inc_news.php"); 
    			?>
     
              <div align="left"> </p>
                <p><br />
                </p>
              </td>
              <td width="300" align="right" valign="top"> 
                <table border="1" cellpadding="0" cellspacing="0" bordercolor="#66CCFF">
                  <tr> 
                    <td> 
                      <?	
    					//on insert la Pub IMU 					
    					include ("./includes/inc_imu.php"); 
    				?>
                    </td>
                  </tr>
                </table></td>
            </tr>
            <tr> 
              <td height="20" colspan="2" valign="top"><hr /></td>
            </tr>
            <tr> 
              <td height="20" colspan="2" valign="top"> <?
    		include("./includes/inc_menu_agenda.php");
    		?> </td>
            </tr>
            <tr valign="middle"> 
              <td colspan="2"><hr /></td>
            </tr>
            <tr valign="middle"> 
              <td colspan="2">&nbsp;</td>
            </tr>
            <tr valign="top"> 
              <td colspan="2" valign="middle"> 
                    <? $sqlQuery =
    					" SELECT EVENEMENT_TYPE_LABEL " .
    					" FROM EVENEMENT_TYPE".
    					" ORDER BY EVENEMENT_TYPE_LABEL ASC"; 
    				$req = mysql_query($sqlQuery);
    				checkSqlError($sqlQuery);
    				$nbreTypeSoiree = mysql_num_rows($req);
    				$evenementListe = mysql_fetch_array($req); ?>
                    </td>
            </tr>
          </table>
          <fieldset> 	
          		<legend class="legend"><? echo($stg_day) ?> 
                    <? echo($titredate2) ?> - <? echo(getDepartementFromId($idSecteur, $idDepartement)) ?>&nbsp;</legend>
    				<br>
    	  <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><p>
                  <?
    //début de la boucle d'affichage des cadres d'événements
    	for ($boucleSoireeDate = mktime(0,0,0,$annee,$mois,$jour); $boucleSoireeDate <= mktime(0,0,0,$annee,$mois,$jour + 2) ; $boucleSoireeDate = mktime(0,0,0,$annee,$mois,$jour + 1)) 
    	{
    		//recherche le type de la selection en cours
    		$sqlQuery =
    			" SELECT SOIREE_DATE ".
    			" FROM SOIREE ".
    			" WHERE SOIREE_DATE = '$boucleSoireeDate'". 
    			" ORDER BY SOIREE_DATE DESC LIMIT 0,1"; 
    			$req = mysql_query($sqlQuery);
    			checkSqlError($sqlQuery);
    			$soireeDate = mysql_fetch_array($req);
     
     
    		//recherche les valeurs des soirées de la selection en cours 			
    		$sqlQuery =
    			" SELECT SOIREE_ID , EVENEMENT_TYPE_LABEL , SOIREE_TITLE , SOIREE_DESCRIPTION , SOIREE_DATE , SOIREE_DATE_FIN , SOIREE_LIEU , SOIREE_PRIX , SOIREE_HEURE" .
    			" FROM SOIREE ".
    			" 	INNER JOIN EVENEMENT_TYPE ON EVENEMENT_TYPE.EVENEMENT_TYPE_ID = SOIREE_TYPE". 
    			" 	WHERE ( SOIREE_SECTEUR = '$idSecteur' AND SOIREE_TYPE = '1' AND SOIREE_DATE = CURDATE() )".
    			" ORDER BY SOIREE_ID DESC "; 
    			$req = mysql_query($sqlQuery);
    			checkSqlError($sqlQuery);
    			$nbreligne = mysql_num_rows($req);		
     
    				//si pas de réponse on affiche pas le code 	 
    				if ( $nbreligne ) 
    				{ ?>
                </p>
                <table width="95%%" border="0" align="center" cellspacing="0">
                  <tr> 
                    <td valign="bottom"> <p><strong> <? echo($soireeDate['SOIREE_DATE']) ?></strong></p></td>
                  </tr>
                </table>
                <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="agenda_center">
                  <tr> 
                    <td> 
                      <?
    					// boucle d'affichage des soir&eacute;es
    					while($data = mysql_fetch_array($req))
    					{					
    						$nbrSoireeAffiche ++ ;
    						$agendadatefin=$data['SOIREE_DATE_FIN'];?>
                      <table width="95%" border="0" align="center" cellspacing="0">
                        <tr valign="bottom"> 
                          <td colspan="2"></td>
                        </tr>
                        <tr> 
                          <td width="69%" valign="top"><blockquote> 
                              <p><a class="agenda" href="n63show.php?link=agendadetail&amp;idAgendaDetail=<? echo($data['SOIREE_ID']) ?>"><? echo($data['SOIREE_TITLE']) ?></a> 
                                <br />
                                Lieu:  <? if ( isPlace($data['SOIREE_LIEU']) ) 
    		   		{ ?>
                  <a href="n63show.php?link=detail&idDetail=<? echo(isPlace($data['SOIREE_LIEU'])) ?>" class="messagedate"><? echo($data['SOIREE_LIEU'] )?></a> 
                  <? } else {				 
    				   	echo($data['SOIREE_LIEU']);
    				}?><br />
                              </p>
                            </blockquote></td>
                          <td width="31%" valign="top"><ul>
                              <li>Tarifs: 
                                <? if  ( $data['SOIREE_PRIX'] == 0) { ?>
                                Gratuit 
                                <? } if  ( $data['SOIREE_PRIX'] > 0 && $data['SOIREE_PRIX'] < 999) { ?>
                                <? echo($data['SOIREE_PRIX']) ?> &euro; 
                                <? }  if  ( $data['SOIREE_PRIX'] == 999) { ?>
                                Nc 
                                <? } ?>
                                <br />
                                [<a class="messagelink" href="n63show.php?link=agendadetail&amp;idAgendaDetail=<? echo($data['SOIREE_ID']) ?>">+ 
                                de d&eacute;tails</a>]</li>
                            </ul></td>
                        </tr>
                      </table>
                      <? } ?>
                    </td>
                  </tr>
                </table>
                <br> <p>&nbsp;</p>
                <p> 
                  <? //fin du test 		
    	}
     
    }
     
    if ( $nbrSoireeAffiche == 0 ) {
    ?>
                </p>
                <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" class="agenda_center">
                  <tr> 
                    <td><br /> <hr width="90%" /> <p align="center">!!! Aucune activit&eacute; 
                        ce soir !!!<br />
                      </p>
                      <hr width="90%" /> <br /></td>
                  </tr>
                </table>
                <p align="left"> 
                  <?         
    }?>
                </p>
                <p>&nbsp;</p></td>
            </tr>
          </table>
    	  </fieldset>
          <p>&nbsp; </p>
        </td>
      </tr>
    </table>
    Merci beaucoup pour votre aide

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Comme je t'ai dis, il ne faut pas faire une boucle.
    Il faut récupérer tous les éléments souhaités par une seule requête, c'est ce à quoi sert la condition WHERE champ_date BETWEEN debut AND fin
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    Merci pour ta réponse.
    Je suis newbie et pas très doué en code.

    J'ai fait ma requete mais ca m affiche juste la date de concert du jour et pas celles des 5 jours à venir.
    Comment faire ?

    Voici le code de ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sqlQuery =
    			" SELECT SOIREE_ID , EVENEMENT_TYPE_LABEL , SOIREE_TITLE , SOIREE_DESCRIPTION , SOIREE_DATE , SOIREE_DATE_FIN , SOIREE_LIEU , SOIREE_PRIX , SOIREE_HEURE" .
    			" FROM SOIREE ".
    			" 	INNER JOIN EVENEMENT_TYPE ON EVENEMENT_TYPE.EVENEMENT_TYPE_ID = SOIREE_TYPE". 
    			" 	WHERE ( SOIREE_SECTEUR = '$idSecteur' AND SOIREE_TYPE = '1' AND SOIREE_DATE BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 5 DAY) )".
    			" ORDER BY SOIREE_ID DESC "; 
    			$req = mysql_query($sqlQuery);
    			checkSqlError($sqlQuery);
    			$nbreligne = mysql_num_rows($req);
    			$data = mysql_fetch_array ($req);
    Merci

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu fais une boucle pour la lecture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $req = mysql_query($sqlQuery);
    while($data = mysql_fetch_array ($req)) {
                echo $data['SOIREE_TITLE'] . ' : ' . $data['SOIREE_DATE'];
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    MERCI !!!!
    Ca fonctionne très bien !!!

    Il ne me reste plus que quelques bugs d'affichages et ça devrait prendre forme.

    Merci pour ta patience

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

Discussions similaires

  1. incrémenter une date par une période de temps
    Par bilouk dans le forum VBA Access
    Réponses: 22
    Dernier message: 16/06/2023, 11h43
  2. Boucle avec incrément de date
    Par Kayno dans le forum SAS Base
    Réponses: 6
    Dernier message: 29/01/2009, 17h14
  3. Réponses: 8
    Dernier message: 05/12/2008, 12h43
  4. Comment incrémenter une date par pas du Mois ?
    Par tarbala dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/11/2008, 07h16
  5. incrémenter une date par 10
    Par heni86_2003 dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 09/04/2008, 19h38

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