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 :

Calendrier avec base SQL


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Par défaut Calendrier avec base SQL
    je remercie la personne qui peut me donner un coup de mains sur le sujet je coince un peu

    Voilà j'ai un calendrier qui fonctionne avec une base sql

    il est composé de trois page une page mise à jour des événements

    une page qui affiche les évenements : nouv.php

    et page qui affiche les ancien évenements

    sur ma page événement quand je fais une recherche en cliquant sur le mois on va dans les mois précédents , et j'aimerais tout simplement que quand on clique sur un mois précedent la page qui s'affiche soit celle du premier jour du mois ( alors qu'atuellement le retour d'un mois en arriere affiche le jour actuel ) alors on est obligé de choisir ensuite un jour sur le calendrier pour quelle s'actualise et idem quand on avance


    la page ou le calendrier et en place : j'ai mis en bleu la partie qui concerne le calendrier retour et avance dans le temps par les mois

    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
    <?php
     include ("connexion.php");
     function mysql_date($champ)
     {
      $annee=substr($champ,0,4);
      $mois=substr($champ,5,2);
      $jour=substr($champ,8,2);
      return $jour;
     } 
     function premier_jour_du_mois($mois,$annee)
     {
       $intPremierJour = date("w",mktime(0,0,0,$mois,1,$annee));
       if($intPremierJour == 0) $intPremierJour = 7; // si c'est un dimanche
       return $intPremierJour-1;
     }
     function nbjour($m,$a)
     {
       if(($a%4)==0)
       {
       $fev=29;
       }
      else
       {
      $fev=28;
       }
     $mois = array(0,31,$fev,31,30,31,30,31,31,30,31,30,31);
     for($x=1;$x<13;$x++)
     {
      if($m == $x)
      {
       return $mois[$x];
      }
     }
     }
     
     function lister_table()
     {
      $table="nouv";
      $date = array();
      $query = "SELECT * FROM table"; 
      $result = mysql_query($query);
      while ($val = mysql_fetch_array($result)) 
      { 
       $date =mysql_date($val["date"]);
       echo $date;
     
      }
     } 
     
        function afficheMois($mois, $annee)
        {
      $tab = getdate();
      $jourc = $tab["mday"];
      $anneec = $tab["year"];
      $moisc = $tab["mon"];
            $labelMois = array(" ","Janvier", "F&eacute;vrier", "Mars", "Avril",
                        "Mai", "Juin", "Juillet", "Ao&ucirc;t", "Septembre",
                        "Octobre", "Novembre", "D&eacute;cembre");
            $labelJour = array("Lu.","Ma.","Me.","Je.","Ve.","Sa.","Di.");
     
      $nbJours=nbjour($mois,$annee);
      $css = "text";  
     
            echo "<div id='titre-calendrier'>
              <table border=0 align='center'> \n";
     
      $mp=$mois+1;
      $mm=$mois-1;
      $ap=$annee+1;
      $am=$annee-1;
      $acp=$annee;
      $acm=$annee;
     
      if($mp==13)
       {
        $mp=1;
        $acp=$acp+1;
        if($acp==2038)
        {
         $acp=1980;
        } 
       }
      if($mm==0)
       {
        $mm=12;
        $acm=$acm-1;
        if($acm<1980)
        {
         $acm=2037;
        }
       }
     
      if($ap>2037){$ap=1980;}
      if($am<1980){$am=2037;}
     
      echo "
      <tr>".
      //modifier les liens ci-dessous avec votre chemin
      "<td colspan=\"4\" class=\"$css\"><a href=\" http://essai.net/nouv.php?mois=$mm&annee=$acm\"><img src=\"arrow_left.gif\" border=\"0\">".
      "</a> $labelMois[$mois] <a href=\" http://www.essai.net/nouv.php?mois=$mp&annee=$acp\"><img src=\"arrow_right.gif\" border=\"0\"></a></td>";
            echo "<td colspan=\"3\" align=\"right\" class=\"$css\"><a href=\" http://www.essai.net/nouv.php?mois=$mois&annee=$am\"><img src=\"arrow_left.gif\" border=\"0\"> ". 
      "</a>$annee<a href=\" http://www.essais.net/nouv.php?mois=$mois&annee=$ap\ "> <img src=\"arrow_right.gif\" border=\"0\"></a> </td></tr>"; 
     
            echo "<tr>";
            for ($i = 0; $i < 7; $i++) {
                echo "<td class=\"$css\">$labelJour[$i]</td>";
            }
            echo "</tr>\n";
     
            echo "<tr>";
            for ($i = 0; $i < premier_jour_du_mois($mois,$annee); $i++) 
      {
                echo "<td></td>";
            }
          /********************************/
             for ($i = 1; $i <= $nbJours; $i++) 
       {
                 if (($i-1 + premier_jour_du_mois($mois,$annee)) % 7 == 0) 
        {
                     echo "</tr>\n<tr>";// Retour &agrave; la ligne chaque Lundi
                 }
        if(($i-1==$jourc-1)&&($annee==$anneec)&&($mois==$moisc))
        {
         $cssClass = "datejour";
         $htmltext = "<td align=\"right\" class=\"$cssClass\">$i</td>";
        }
                 else
        {
         $cssClass = "date";
         $htmltext = "<td align=\"right\" class=\"$cssClass\">$i</td>";
        }
        /*****************/
        $debut_mois = date("Y-m-d", mktime(0,0,0,$mois,1,$annee));
        $fin_mois = date("Y-m-d", mktime(0,0,0,$mois,$nbJours,$annee)); 
     
        $query = "SELECT * FROM nouv where date >='$debut_mois' and date <='$fin_mois' ORDER BY date"; 
        $result = mysql_query($query);
        while ($val = mysql_fetch_array($result)) 
        { 
         $date = mysql_date($val["date"]);
         $id = $val["id"];
         if($i==$date)
          {
           $cssClass = "date";
           $htmltext = "<td align=\"right\" class=\"$cssClass\"><a href=nouv.php?ref=$id\" class=\"lien\" title=\"date &eacute;v&eacute;nement\">$i</a></td>";
          }
        } 
        echo $htmltext;
             }
      /******************************/
            echo "</tr>";
            echo "</table></div>";
     }   
    ?>
    la page qui affiche les donnée recupérées par ref=?id

    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
    <?php
     include ("connexion.php");
    $d=getDate(); 
    $m = $_GET["mois"];
    $a = $_GET["annee"];
    if((!isSet($m)) ||(!isSet($a)))
     {
      AfficheMois($d["mon"],$d["year"]);
     }
     else
     {
      AfficheMois($m,$a);
     } 
     
     
    function mysql_date_fr($champ)
    {
    $annee=substr($champ,0,4);
    $mois=substr($champ,5,2);
    $jour=substr($champ,8,2);
    return $jour."-".$mois."-".$annee;
    } 
    $ref_event = $_GET["ref"];
    $query = "SELECT * FROM nouv where id=\"$ref_event\" "; 
    $result = mysql_query($query);
    while ($val = mysql_fetch_array($result)) 
    { 
    $id = $val["id"];
    $date = mysql_date_fr($val["date"]); 
     
    $journee = mysql_date_fr($val["journee"]);
    $jour = $val["jour"];
    $mois = $val["mois"];
     
    echo " ".$journee." ".$jour." ";
    echo " ".$mois." ";
     
    }
    mysql_close();
    ?>

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    essaye de mettre ça au début de la fonction "afficheMois"

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/11/2008, 19h05
  2. Appli Web avec base SQL Server
    Par Baalberith dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/09/2007, 13h43
  3. InfoPath envoie et reception de données avec base SQL
    Par fanfan49 dans le forum InfoPath
    Réponses: 2
    Dernier message: 05/06/2007, 15h44
  4. Déploiement application c# avec base sql server
    Par davmaster62 dans le forum Accès aux données
    Réponses: 1
    Dernier message: 04/04/2007, 20h15

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