begin process at 2012 05 28 14:38:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

calendrier lié à une table


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

calendrier lié à une table

samedi 17 septembre 2005 à 19:12:30 | calendrier lié à une table

01cod10

Bonjour à tous.

J'aimerai lier mon calendrier en php avec ma table qui contient des évenements. C'est à dire que lorsque l'utilisateur clique sur un jour une page doit s'afficher . En clair le jour clique doit etre recherché dans la table.

Merci 
samedi 17 septembre 2005 à 20:51:40 | Re : calendrier lié à une table

Anthomicro

Salut,

si tu nous montrais ton code qui affiche le calendrier (le mois ou la semaine en cours) ça serait pas mal, car nous ne sommes pas devins :-)


    samedi 17 septembre 2005 à 20:59:25 | Re : calendrier lié à une table

    01cod10

    // numéro du mois

    $m = isset($_GET['m']) ? $_GET['m'] : date('m');

    // exclure les valeurs en dehors de [ 1 , 12 ]

    $m %= 12;

    if ($m == 0) $m = 12;

    // numéro de l'année

    $a = (int) ( isset($_GET['a']) ? $_GET['a'] : date('Y') );

    // exclure les années < 1970

    if ($a<1970) $a=1970;

    // timestamp du 1er du mois à minuit une

    $t = mktime(0, 0, 1, $m, 1, $a);

    // nombre de jours dans ce mois

    $nj = date('t', $t);

    // n° du premier jour du mois: on décale le résultat anglais (premier=0=dimanche) pour obtenir premier=1=lundi

    $j = date('w', $t);

    if ($j==0) $j = 7; // dimanche=7

    else $j = $j; // lundi=1 ... samedi=6

    // nombre d'espaces à laisser vides avant le premier jour du mois = numéro du jour - 1

    $sb = $j - 1;

    // nombre de lignes au total dans la table

    // sachant qu'il faut placer AU MOINS $nj+$sb cases, et qu'on a 7 colonnes

    $nl = ceil(($nj+$sb)/7);

    // pré-remplissage de la table avec des cases vides (0) partout

    $tb = array_fill(0,$nl,array_fill(1,7,'&nbsp;'));

    // remplissage avec les n° de jours, en sautant les $sb premières cases

    for ($i=1; $i<=$nj; $i++) {

    $ligne = floor(($i+$sb-1)/7);

    $colonne = ($i+$sb-1)%7 + 1;

    $tb[$ligne][$colonne] = $i;

    }

    samedi 17 septembre 2005 à 21:05:31 | Re : calendrier lié à une table

    Anthomicro

    dans ton code tu affiches bien le calendrier quelque part non ?


      samedi 17 septembre 2005 à 21:17:31 | Re : calendrier lié à une table

      01cod10

      <HTML>

      <HEAD>

      </HEAD>

      <?php

      $m_loc = array(

      1=>'Janvier',

      2=>'Février',

      3=>'Mars',

      4=>'Avril',

      5=>'Mai',

      6=>'Juin',

      7=>'Juillet',

      8=>'Août',

      9=>'Septembre',

      10=>'Octobre',

      11=>'Novembre',

      12=>'Décembre'

      );

      // numéro du mois

      $m = isset($_GET['m']) ? $_GET['m'] : date('m');

      // exclure les valeurs en dehors de [ 1 , 12 ]

      $m %= 12;

      if ($m == 0) $m = 12;

      // numéro de l'année

      $a = (int) ( isset($_GET['a']) ? $_GET['a'] : date('Y') );

      // exclure les années < 1970

      if ($a<1970) $a=1970;

      // timestamp du 1er du mois à minuit une

      $t = mktime(0, 0, 1, $m, 1, $a);

      // nombre de jours dans ce mois

      $nj = date('t', $t);

      // n° du premier jour du mois: on décale le résultat anglais (premier=0=dimanche) pour obtenir premier=1=lundi

      $j = date('w', $t);

      if ($j==0) $j = 7; // dimanche=7

      else $j = $j; // lundi=1 ... samedi=6

      // nombre d'espaces à laisser vides avant le premier jour du mois = numéro du jour - 1

      $sb = $j - 1;

      // nombre de lignes au total dans la table

      // sachant qu'il faut placer AU MOINS $nj+$sb cases, et qu'on a 7 colonnes

      $nl = ceil(($nj+$sb)/7);

      // pré-remplissage de la table avec des cases vides (0) partout

      $tb = array_fill(0,$nl,array_fill(1,7,'&nbsp;'));

      // remplissage avec les n° de jours, en sautant les $sb premières cases

      for ($i=1; $i<=$nj; $i++) {

      $ligne = floor(($i+$sb-1)/7);

      $colonne = ($i+$sb-1)%7 + 1;

      $tb[$ligne][$colonne] = $i;

      }

      // mois précédent

      $m_prec = $m==1 ? 12 : $m-1;

      $a_prec = $m==1 ? $a-1 : $a;

      // mois suivant

      $m_suiv = $m==12 ? 1 : $m+1;

      $a_suiv = $m==12 ? $a+1 : $a;

      // jour en cours (pour surligner la case correspondante)

      // -1 si mois != mois en cours ou année != année en cours

      $jc = $a==date('Y') && $m==date('m') ? date('d') : -1;

      ?>

      <table border="0">

      <tr><th align="center" colspan="7">

      <?php if ($m>1||$a>1970) { ?><a href="calenda.php?a=<?=$a_prec?>&m=<?=$m_prec?>">&lt;</a><?php } ?>

      <?=$m_loc[$m]?> <?=$a?>

      <a href="calenda.php?a=<?=$a_suiv?>&m=<?=$m_suiv?>">&gt;</a>

      </th></tr>

      <tr>

      <th>Lun</th>

      <th>Mar</th>

      <th>Mer</th>

      <th>Jeu</th>

      <th>Ven</th>

      <th>Sam</th>

      <th>Dim</th>

      </tr>

      <?php foreach ($tb as $l) { ?>

      <tr>

      <?php foreach ($l as $c) { ?>

      <td<?php if ($c==$jc) { ?> <?php } ?>><?=$c?></td>

      <?php } ?>

      </tr>

      <?php } ?>

      </table>

      </HTML>

      samedi 17 septembre 2005 à 21:37:04 | Re : calendrier lié à une table

      Anthomicro

      <HTML>

      <HEAD>

      </HEAD>

      <?php

      $m_loc = array(

      1=>'Janvier',

      2=>'Février',

      3=>'Mars',

      4=>'Avril',

      5=>'Mai',

      6=>'Juin',

      7=>'Juillet',

      8=>'Août',

      9=>'Septembre',

      10=>'Octobre',

      11=>'Novembre',

      12=>'Décembre'

      );

      // numéro du mois

      $m = isset($_GET['m']) ? $_GET['m'] : date('m');

      // exclure les valeurs en dehors de [ 1 , 12 ]

      $m %= 12;

      if ($m == 0) $m = 12;

      // numéro de l'année

      $a = (int) ( isset($_GET['a']) ? $_GET['a'] : date('Y') );

      // exclure les années < 1970

      if ($a<1970) $a=1970;

      // timestamp du 1er du mois à minuit une

      $t = mktime(0, 0, 1, $m, 1, $a);

      // nombre de jours dans ce mois

      $nj = date('t', $t);

      // n° du premier jour du mois: on décale le résultat anglais (premier=0=dimanche) pour obtenir premier=1=lundi

      $j = date('w', $t);

      if ($j==0) $j = 7; // dimanche=7

      else $j = $j; // lundi=1 ... samedi=6

      // nombre d'espaces à laisser vides avant le premier jour du mois = numéro du jour - 1

      $sb = $j - 1;

      // nombre de lignes au total dans la table

      // sachant qu'il faut placer AU MOINS $nj+$sb cases, et qu'on a 7 colonnes

      $nl = ceil(($nj+$sb)/7);

      // pré-remplissage de la table avec des cases vides (0) partout

      $tb = array_fill(0,$nl,array_fill(1,7,'&nbsp;'));

      // remplissage avec les n° de jours, en sautant les $sb premières cases

      for ($i=1; $i<=$nj; $i++) {

      $ligne = floor(($i+$sb-1)/7);

      $colonne = ($i+$sb-1)%7 + 1;

      $tb[$ligne][$colonne] = $i;

      }

      // mois précédent

      $m_prec = $m==1 ? 12 : $m-1;

      $a_prec = $m==1 ? $a-1 : $a;

      // mois suivant

      $m_suiv = $m==12 ? 1 : $m+1;

      $a_suiv = $m==12 ? $a+1 : $a;

      // jour en cours (pour surligner la case correspondante)

      // -1 si mois != mois en cours ou année != année en cours

      $jc = $a==date('Y') && $m==date('m') ? date('d') : -1;

      ?>

      <table border="0">

      <tr><th align="center" colspan="7">

      <?php if ($m>1||$a>1970) { ?><a href="calenda.php?a=<?=$a_prec?>&m=<?=$m_prec?>">&lt;</a><?php } ?>

      <?=$m_loc[$m]?> <?=$a?>

      <a href="calenda.php?a=<?=$a_suiv?>&m=<?=$m_suiv?>">&gt;</a>

      </th></tr>

      <tr>

      <th>Lun</th>

      <th>Mar</th>

      <th>Mer</th>

      <th>Jeu</th>

      <th>Ven</th>

      <th>Sam</th>

      <th>Dim</th>

      </tr>

      <?php foreach ($tb as $l) { ?>

      <tr>

      <?php foreach ($l as $c) { ?>

      <td>
      <?php
      if($c==$jc)
      {
          echo '<a href="machin.php?jour=',$c,'"><b>',$c,'</b></a>';
      }
      else
      {
          echo '<a href="machin.php?jour=',$c,'">',$c,'</a>';
      }
      }
      }
      ?>
      </td>
      </tr>
      </table>
      </HTML>


        samedi 17 septembre 2005 à 22:06:58 | Re : calendrier lié à une table

        01cod10

        le lien sur les jours du calendrier marche. Je vais maintenant faire le code  machin .php qui va afficher la page.
         
        Merci
        samedi 17 septembre 2005 à 22:07:56 | Re : calendrier lié à une table

        Anthomicro

        Tu peux cliquer sur "réponse acceptée" stp ?

        j'ai pas corrigé le reste de ton script mais bon y'aurait des améliorations à effectuer au niveau portabilité.

        a +


          samedi 17 septembre 2005 à 22:42:35 | Re : calendrier lié à une table

          01cod10

          oui mais j'ai encore une question dans mon calendrier les liens matérialisés par un - se retrouvent dans les cases vide de mon calendrier. Comment faire pour les enlever

          ma table evenement contient les champs
          id,
          type_evenement
          lieu
          début_evenement
          fin_evenement
          description


          je sais que machin.php doit etre un script qui va aller chercher par exemple la date 18 septembre 2005 qui sera dans le champ fin_evenement. Sinon j'afficherai pas d' évenement.

          je n'ai pas bien compris ce que tu as fait ici

          <?php
          if($c==$jc)
          {
              echo '<a href="machin.php?jour=',$c,'"><b>',$c,'</b></a>';
          }
          else
          {
              echo '<a href="machin.php?jour=',$c,'">',$c,'</a>';
          }
          }
          }
          ?>
          samedi 17 septembre 2005 à 22:44:08 | Re : calendrier lié à une table

          Anthomicro

          bah pour chaque jour du mois j'ai ajouté un lien puisque ta question originelle était "C'est à dire que lorsque l'utilisateur clique sur un jour une page doit s'afficher"



            1 2

            Cette discussion est classée dans : calendrier, table, jour, clique, lié


            Répondre à ce message

            Sujets en rapport avec ce message

            Mise à jour d'une table [ par Ludo36230 ] Bonjour, j'ai crée un formaulaire d'envoi avec plusieurs champ pour mettre à jour une table, il y aura des fois ou des champs seront vide (tout à fai Problème Mise à jour plusieurs table [ par jartigues ] Bonjour,Voila j'ai une base Mysql avec plusieurs table.Je vais vous expliquer par un exemple simple de ce que je veux faire.Alors j'ai une table utili Mise à jour d'une table MySql, suite à une recherche PHP [ par tanktrasher ] 'lut,j'ai un bleme :j'ai une liste deroulante dans un formulaire PHP qui me permet d'executer une requete de recherche dans une table MySql.Je fais af Mettre à jour données d'une table [ par yonico ] Petite question d'un debutant :je voudrais mettre à jour les données d'une table mais je n'y arrive pas voilà ce que j'ai mis :$reponse = mysql_query( Impossible de mettre a jour enregistrement dans ma base [ par Fic ] Bonjour, je vais tenté de poser ma question plus lisiblement (depuis un browser PC). Mon projet : une administration basique de site dynamique avec Calendrier [ par kitgraphic ] Voilà j'ai un calendrier avec des évènement, tout marche bien , mais je voudrais que le jour actuel (la cellule ou il se trouve soit d'une autre coule Mise à jour mysql depuis un autre site [ par Tit0x ] Hello tout le monde  =DVoilà 2 semaines, environ, que je cherche désespérement un bout de code ou un code mais sans résultat En fait, je voudrais que Je trouve pas l'erreur sur mon script [ par Akash ] Salut à tous j'espère que vous pourrez m'aider. Voila le problème :Pour mon script de calendrier evenementiel j'ai besoin d'afficher des évènements pa pb de mise à jour d'une table avec champs TEXT [ par lineb76 ] Bonjour à tous,J'ai un gros problème : j'ai récupérer la base de données d'un client pour en faire l'application de mise à jour.Dans l'une des tables Mise à jour de table [ par aulo ] Bonjour, J'ai un petit probmème de chekbox... En fait j'ai une page php dans laquelle j'ai une requete sql qui fait un while me donnant un joli table


            Nos sponsors


            Sondage...

            CalendriCode

            Mai 2012
            LMMJVSD
             123456
            78910111213
            14151617181920
            21222324252627
            28293031   

            Consulter la suite du CalendriCode

            A découvrir



             
            Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
            CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
            CodeS-SourceS.com© est une marque déposée tous droits réservés

            Google Coop CodeS-SourceS Google Coop CodeS-SourceS
            Temps d'éxécution de la page : 1,685 sec (4)

            Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales