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 :

[Dates] Calendrier mensuel par semaine / inversé


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut [Dates] Calendrier mensuel par semaine / inversé
    Le titre fait un peu peur désolé

    En fait j'utilise différents scripts de calendrier "habituels".
    Sauf que pour un nouveau projet je doit récupérer des chiffres journaliers d'une base de donnée et les classer sur un mois dans un tableau.

    Ma table :
    > jour [format AAAA-MM-JJ]
    > résultat [chiffres avec décimales]

    Mon tableau (pour octobre par ex) doit être de la forme (j'espère que cela sera lisible !) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Oct08 ####Sem du 1 au 5 ## Sem du 6 au 12 ## Sem du 13 au 19 ##etc...
    Lundi  #### ___________ ##  résultat 6/10    ## résultat 13/10     ##etc..
    Mardi  #### ___________ ##  résultat 7/10    ## résultat 14/10     ##etc..
    Mercredi ## résultat 01/10 ##  résultat 8/10    ## résultat 15/10    ##etc...
    Jeudi      ## résultat 02/10 ##  résultat 9/10    ## résultat 16/10    ##etc...
    Vendredi ## etc........
    Samedi
    Dimanche
    Et en html ça donne ça :
    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
     
    <table width="55%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>Octobre 2008</td>
        <td>semaine du 1 au 5</td>
        <td>semaine du 6 au 12</td>
        <td>semaine du 13 au 19</td>
        <td>semaine du 20 au 26</td>
        <td>semaine du 27 au 31</td>
      </tr>
      <tr>
        <td width="12%"><p>LUNDI</p>
        </td>
        <td width="13%">///////</td>
        <td width="14%">résultat du 6/10</td>
        <td width="12%">résultat du 13/10</td>
        <td width="12%">résultat du 20/10</td>
        <td width="37%">résultat du 27/10</td>
      </tr>
      <tr>
        <td>MARDI</td>
        <td>//////</td>
        <td>résultat du 7/10</td>
        <td>résultat du 14/10</td>
        <td>résultat du 21/10</td>
        <td>résultat du 28/10</td>
      </tr>
      <tr>
        <td>MERCREDI</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
      </tr>
      <tr>
        <td>JEUDI</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
      </tr>
      <tr>
        <td>VENDREDI</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
      </tr>
      <tr>
        <td>SAMEDI</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
      </tr>
      <tr>
        <td>DIMANCHE</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
      </tr>
    </table>
    Sauf que je sèche dans l'élaboration de ce tableau...genre de calendrier "inversé" avec les jours à gauche en colonne et les semaine en haut.
    Quelqu'un pourrait il me donner une piste de recherche car mon cerveau bloque

    Merci beaucoup,

    Bisvan

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 101
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 101
    Points : 8 211
    Points
    8 211
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par bisvan Voir le message
    (j'espère que cela sera lisible !)
    Euh nan. Tu peux utiliser le bbcode code pour formater
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    J'ai modifié mon post pour que cela soit plus clair

    J'avance petit à petit.
    J'ai mis en place une fonction qui me calcule chaque semaine du mois et me forme en même temps mon tableau


    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
     
    function semainesDuMois($datedebut, $datefin) {
     
    	$explDateD = explode('/', $dateDebut);
    	$explDateF = explode('/', $dateFin);
    	$dateD = $explDateD[2].'-'.$explDateD[1].'-'.$explDateD[0];
    	$dateF = $explDateF[2].'-'.$explDateF[1].'-'.$explDateF[0];
     
    	$toTimeStart = strtotime($dateD);
    	$toTimeEnd = strtotime($dateF);
    	$jourDeb = date('w', $toTimeStart);
    // début de construction du tableau
    echo '<table width="55%" border="0" cellspacing="0" cellpadding="0"><tr>
        <td>Octobre 2008</td> ';
    // boucle sur les semaines
    	while ($toTimeStart < $toTimeEnd) {
     
    		$joursRestant = 7 - $jourDeb;
    		echo date('d\.m\.y', $toTimeStart).' au ';
    		$toTimeStart = strtotime('+'.$joursRestant.' day', $toTimeStart);
    		echo date('d\.m\.y', $toTimeStart).'<br />';
    		$toTimeStart = strtotime('+ 1 day', $toTimeStart);
    		$jourDeb = date('w', $toTimeStart);
     
    	}
    // Suite et fin du tableau
    echo ' <tr>
        <td width="12%"><p>LUNDI</p>
        </td>
        <td width="13%"></td>
        <td width="14%"></td>
        <td width="12%"></td>
        <td width="12%"></td>
        <td width="37%"></td>
      </tr>
      <tr>
        <td>MARDI</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
      <tr>
        <td>MERCREDI</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
      </tr>
      <tr>
        <td>JEUDI</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
      </tr>
      <tr>
        <td>VENDREDI</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
      </tr>
      <tr>
        <td>SAMEDI</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
      </tr>
      <tr>
        <td>DIMANCHE</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
        <td>etc...</td>
      </tr>
    </table>';
    }
    Par exemple du 01/10 au 31/10 cette fonction va m'afficher :

    OCTOBRE 2008 | 01.10.08 au 05.10.08 | 06.10.08 au 12.10.08 | 13.10.08 au 19.10.08 | 20.10.08 au 26.10.08 | 27.10.08 au 02.11.08
    LUNDI
    MARDI
    MERCREDI
    JEUDI
    VENDREDI
    SAMEDI
    DIMANCHE

    Maintenant faut inclure les résultats de ma base de donnée dans cette fonctions, à savoir un champ "jour" et un champ "résultat".
    Et mettre ces résultats en fonction des jours (si le mois commence un mercredi mettre le premier résultat le mercredi de la première semaine).

    Si quelqu'un a une idée

Discussions similaires

  1. Calendrier/Planning par semaine
    Par bobosh dans le forum C#
    Réponses: 4
    Dernier message: 16/03/2010, 11h30
  2. transformation date calendrier en numéro semaine
    Par creunch dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/03/2010, 14h16
  3. tri des dates par semaine
    Par syldudu dans le forum Access
    Réponses: 17
    Dernier message: 10/10/2006, 11h27
  4. Requette sur date avec regroupement par semaine
    Par bob75000 dans le forum Access
    Réponses: 6
    Dernier message: 17/07/2006, 15h39
  5. [CR]grouper des dates par semaines, mais semaines FR !
    Par neo.51 dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 18/05/2004, 20h43

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