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 :

Affichage pour un calendrier


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Par défaut Affichage pour un calendrier
    bonjour à tous
    j'ai un gros problème d'affichage je me suis cassé la tête toute la journée avant de vous déranger (je suis nouveau en php), ça doit surement être à une quôte mal fermer mais je vois pas du tout laquelle.
    Je doit faire une premiere présentation du site à mon directeur demain alors si vous avez une idée merci.

    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
      <?php
     
         if(!isset($_GET['m']) && !isset($_GET['y']))
         {
         // Si on ne récupère rien dans l'url, on prend la date du 1er jour du mois actuel.
         $timestamp = mktime(0, 0, 0, date('m'), 1, date('Y'));
         }
     
     
         else
         {
         // Sinon on récupère la date du 1er jour du mois donné.
         $timestamp = mktime(0, 0, 0, $_GET['m'], 1, $_GET['y']);
         }
     
         ?>
     
                    <?php
     
         /* Si le mois et l'année de la variable $timestamp correspondent au mois et à l'année d'aujourd'hui, on retient le jour actuel.
         Sinon le jour actuel ne se situe pas dans le mois et on ne retient rien */
     
         if(date('m', $timestamp) == date('m') && date('Y', $timestamp) == date('Y'))
         {
         $coloreNum = date('d');
         }
     
         ?>
     
                    <?php
     
         $m = array("01" => "Janvier", "02" => "Février", "03" => "Mars", "04" => "Avril");
         $m += array("05" => "Mai", "06" => "Juin", "07" => "Juillet", "08" => "Août");
         $m += array("09" => "Septembre", "10" => "Octobre", "11" => "Novembre", "12" => "Décembre");
     
         $j = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
         // Souvenez-vous que les dates en PHP commencent par dimanche !
     
         ?>
     
                    <?php
     
         $numero_mois = date('m', $timestamp);
         $annee = date('Y', $timestamp);
     
         if($numero_mois == 12)
         {
         // Dans le cas du mois de décembre
         $annee_avant = $annee;
         $annee_apres = $annee + 1; // L'année d'après change
         $mois_avant = $numero_mois - 1;
         $mois_apres = 01; // Le mois d'après est janvier
         }
         elseif($numero_mois == 01)
         {
         // Dans le cas du mois de janvier
         $annee_avant = $annee - 1; // L'année d'avant change
         $annee_apres = $annee;
         $mois_avant = 12; // Le mois d'avant est décembre
         $mois_apres = $numero_mois + 1;
         }
         else
         {
         // Il ne s'agit ni de janvier ni de décembre
         $annee_avant = $annee;
         $annee_apres = $annee;
         $mois_avant = $numero_mois - 1;
         $mois_apres = $numero_mois + 1;
         }
     
     
     
         $numero_jour1er = date('w', $timestamp); // 0 => Dimanche, 1 => Lundi, 2 = > Mardi...
     
         // Changement du numéro du jour car l'array commence à l'indice 0.
         if ($numero_jour1er == 0)
         {
         /*
         Si c'est dimanche, on le place en 6e position
         (car on commencera notre boucle à 0)
         */
         $numero_jour1er = 6;
         }
         else
         {
        // Sinon on met lundi à 0 ou mardi à 1 ou mercredi à 2...
         $numero_jour1er--;
         }
     
         ?>
                  </p>
                  <table>
     
                    <caption>
     
                    <?php
         // Lien pour aller au mois précédent
         echo '<a href="?m='.$mois_avant.'&amp;y='.$annee_avant.'"><<</a>';
     
     
         // Affichage du mois et de l'année
         echo '<span style="color: #000000;"> '.$m[$numero_mois].' '.$annee.'</span> ';
     
     
         // Lien pour aller au mois suivant
         echo '<a href="?m='.$mois_apres.'&amp;y='.$annee_apres.'">>></a>';
         ?>
                    </caption>
     
     
                    <tr> 
                      <th width="18">Lu</th>
     
                      <th width="24">Ma</th>
     
                      <th width="24">Me</th>
     
                      <th width="16">Je</th>
     
                      <th width="19">Ve</th>
     
                      <th width="17">Sa</th>
     
                      <th width="25">Di</th>
                       </tr>
     
     
                    <?php
     
         echo '<tr>'; // Nouvelle ligne du tableau (celle de la 1ère semaine, donc)
     
         // Écriture de colonnes vides tant que le mois ne démarre pas.
         for($i = 0 ; $i < $numero_jour1er ; $i++)
         {
         echo '<td></td>';
         }
     
         for($i = 1 ; $i <= 7 - $numero_jour1er; $i++)
         {
         echo '<td><div class="';
     
         if(isset($coloreNum) && $coloreNum == $i)
         {
         echo 'lienCalendrierJour';
         }
         else
         {
         echo 'lienCalendrier';
         }
     
         echo '">'.$i.'</div></td>';
         }
     
         echo '</tr>';
     
         ?>
     
                    <?php
         $nbLignes = ceil((date('t', $timestamp) - ($i-1)) / 7);
         for($ligne = 0 ; $ligne < $nbLignes ; $ligne++)
        {
         echo '<tr>'; // Nouvelle ligne du tableau (celle de la nouvelle semaine)
     
         for($colone = 0 ; $colone < 7 ; $colone++)
         {
         if($i <= date('t', $timestamp))
         {
         echo '<td><div class="';
     
         if(isset($coloreNum) && $coloreNum == $i)
         {
         echo 'lienCalendrierJour';
         }
         else
         {
         echo 'lienCalendrier';
         }
     
         echo '">'.$i.'</div></td>';
         }
         else
         {
         // On a fini d'écrire le mois on termine la tableau par des cellules vides
         echo '<td></td>';
         }
     
         $i = $i +1;
         }
     
         echo '</tr>';
         }
         ?>



    et voila le résultat dans ma page web
    Agenda

    "Janvier", "02" => "Février", "03" => "Mars", "04" => "Avril"); $m += array("05" => "Mai", "06" => "Juin", "07" => "Juillet", "08" => "Août"); $m += array("09" => "Septembre", "10" => "Octobre", "11" => "Novembre", "12" => "Décembre"); $j = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'); // Souvenez-vous que les dates en PHP commencent par dimanche ! ?> Dimanche, 1 => Lundi, 2 = > Mardi... // Changement du numéro du jour car l'array commence à l'indice 0. if ($numero_jour1er == 0) { /* Si c'est dimanche, on le place en 6e position (car on commencera notre boucle à 0) */ $numero_jour1er = 6; } else { // Sinon on met lundi à 0 ou mardi à 1 ou mercredi à 2... $numero_jour1er--; } ?>
    '; // Nouvelle ligne du tableau (celle de la 1ère semaine, donc) // Écriture de colonnes vides tant que le mois ne démarre pas. for($i = 0 ; $i < $numero_jour1er ; $i++) { echo ''; } for($i = 1 ; $i <= 7 - $numero_jour1er; $i++) { echo ''; } echo ''; ?> '; // Nouvelle ligne du tableau (celle de la nouvelle semaine) for($colone = 0 ; $colone < 7 ; $colone++) { if($i <= date('t', $timestamp)) { echo ''; } else { // On a fini d'écrire le mois on termine la tableau par des cellules vides echo ''; } $i = $i +1; } echo ''; } ?>
    <<'; // Affichage du mois et de l'année echo ' '.$m[$numero_mois].' '.$annee.' '; // Lien pour aller au mois suivant echo '>>'; ?> Lu Ma Me Je Ve Sa Di

    '.$i.'
    '.$i.'


  2. #2
    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
    L'erreur doit se situer avant puisque "Agenda" n'est pas le code que tu nous montres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    ça marche impeccablement chez moi

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Par défaut
    comment ça se fait que ça marche pas cher moi snifff?
    ça peut venir d'ou?

    voila le code complet de ma page php

    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
     
    <body>
    <td height="51" align="center" valign="bottom" bgcolor="#FFFFFF"><font color="#68C2C2"><strong>Agenda</strong></font></td>
              </tr>
              <tr>
                <td height="29" bgcolor="#FFFFFF"><div>
                  <p>
    			  <?php
     
         if(!isset($_GET['m']) && !isset($_GET['y']))
         {
         // Si on ne récupère rien dans l'url, on prend la date du 1er jour du mois actuel.
         $timestamp = mktime(0, 0, 0, date('m'), 1, date('Y'));
         }
     
     
         else
         {
         // Sinon on récupère la date du 1er jour du mois donné.
         $timestamp = mktime(0, 0, 0, $_GET['m'], 1, $_GET['y']);
         }
     
         ?>
     
                    <?php
     
         /* Si le mois et l'année de la variable $timestamp correspondent au mois et à l'année d'aujourd'hui, on retient le jour actuel.
         Sinon le jour actuel ne se situe pas dans le mois et on ne retient rien */
     
         if(date('m', $timestamp) == date('m') && date('Y', $timestamp) == date('Y'))
         {
         $coloreNum = date('d');
         }
     
         ?>
     
                    <?php
     
         $m = array("01" => "Janvier", "02" => "Février", "03" => "Mars", "04" => "Avril");
         $m += array("05" => "Mai", "06" => "Juin", "07" => "Juillet", "08" => "Août");
         $m += array("09" => "Septembre", "10" => "Octobre", "11" => "Novembre", "12" => "Décembre");
     
         $j = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
         // Souvenez-vous que les dates en PHP commencent par dimanche !
     
         ?>
     
                    <?php
     
         $numero_mois = date('m', $timestamp);
         $annee = date('Y', $timestamp);
     
         if($numero_mois == 12)
         {
         // Dans le cas du mois de décembre
         $annee_avant = $annee;
         $annee_apres = $annee + 1; // L'année d'après change
         $mois_avant = $numero_mois - 1;
         $mois_apres = 01; // Le mois d'après est janvier
         }
         elseif($numero_mois == 01)
         {
         // Dans le cas du mois de janvier
         $annee_avant = $annee - 1; // L'année d'avant change
         $annee_apres = $annee;
         $mois_avant = 12; // Le mois d'avant est décembre
         $mois_apres = $numero_mois + 1;
         }
         else
         {
         // Il ne s'agit ni de janvier ni de décembre
         $annee_avant = $annee;
         $annee_apres = $annee;
         $mois_avant = $numero_mois - 1;
         $mois_apres = $numero_mois + 1;
         }
     
     
     
         $numero_jour1er = date('w', $timestamp); // 0 => Dimanche, 1 => Lundi, 2 = > Mardi...
     
         // Changement du numéro du jour car l'array commence à l'indice 0.
         if ($numero_jour1er == 0)
         {
         /*
         Si c'est dimanche, on le place en 6e position
         (car on commencera notre boucle à 0)
         */
         $numero_jour1er = 6;
         }
         else
         {
        // Sinon on met lundi à 0 ou mardi à 1 ou mercredi à 2...
         $numero_jour1er--;
         }
     
         ?>
                  </p>
                  <table>
     
                    <caption>
     
                    <?php
         // Lien pour aller au mois précédent
         echo '<a href="?m='.$mois_avant.'&amp;y='.$annee_avant.'"><<</a>';
     
     
         // Affichage du mois et de l'année
         echo '<span style="color: #000000;"> '.$m[$numero_mois].' '.$annee.'</span> ';
     
     
         // Lien pour aller au mois suivant
         echo '<a href="?m='.$mois_apres.'&amp;y='.$annee_apres.'">>></a>';
         ?>
                    </caption>
     
     
                    <tr> 
                      <th width="18">Lu</th>
     
                      <th width="24">Ma</th>
     
                      <th width="24">Me</th>
     
                      <th width="16">Je</th>
     
                      <th width="19">Ve</th>
     
                      <th width="17">Sa</th>
     
                      <th width="25">Di</th>
                       </tr>
     
     
                    <?php
     
         echo '<tr>'; // Nouvelle ligne du tableau (celle de la 1ère semaine, donc)
     
         // Écriture de colonnes vides tant que le mois ne démarre pas.
         for($i = 0 ; $i < $numero_jour1er ; $i++)
         {
         echo '<td></td>';
         }
     
         for($i = 1 ; $i <= 7 - $numero_jour1er; $i++)
         {
         echo '<td><div class="';
     
         if(isset($coloreNum) && $coloreNum == $i)
         {
         echo 'lienCalendrierJour';
         }
         else
         {
         echo 'lienCalendrier';
         }
     
         echo '">'.$i.'</div></td>';
         }
     
         echo '</tr>';
     
         ?>
     
                    <?php
         $nbLignes = ceil((date('t', $timestamp) - ($i-1)) / 7);
         for($ligne = 0 ; $ligne < $nbLignes ; $ligne++)
        {
         echo '<tr>'; // Nouvelle ligne du tableau (celle de la nouvelle semaine)
     
         for($colone = 0 ; $colone < 7 ; $colone++)
         {
         if($i <= date('t', $timestamp))
         {
         echo '<td><div class="';
     
         if(isset($coloreNum) && $coloreNum == $i)
         {
         echo 'lienCalendrierJour';
         }
         else
         {
         echo 'lienCalendrier';
         }
     
         echo '">'.$i.'</div></td>';
         }
         else
         {
         // On a fini d'écrire le mois on termine la tableau par des cellules vides
         echo '<td></td>';
         }
     
         $i = $i +1;
         }
     
         echo '</tr>';
         }
         ?>
                  </table>
                </div>
                  <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p></td>
    </body>

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    Je reconfirme, ça marche, tu as du mal nommé ta page, elle doit avoir l'extension ".php", ou alors tu le lance hors "serveur".
    l'adresse dans le navigateur doit ressemblé à http://NomDeMonServeur/MonDossier/MaPage.php

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut
    Ca fonctionne egalement ici

    Voici le URL :

    Calendrier

    Qu'est-ce qui se passe chez toi ?

    Sylvain

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Par défaut
    Je suis désolé de confirmer que ça marche.
    Voici un screen.
    Images attachées Images attachées  

Discussions similaires

  1. [MySQL] affichage d'un calendrier pour choisir une date
    Par barose dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/07/2013, 16h49
  2. Masque d'affichage pour nombre
    Par VincenzoR dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/06/2006, 16h11
  3. [Configuration] une fonction pour un calendrier parametrable
    Par hrz dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 05/02/2006, 11h11
  4. Delphi et XMLRAD pour un calendrier
    Par Toxine77 dans le forum XMLRAD
    Réponses: 9
    Dernier message: 23/01/2003, 13h56

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