Création d'un planning |
Bienvenue invité ( Connexion | Inscription )
Création d'un planning |
23 May 2015, 13:26
Message
#1
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 6 150 Inscrit : 31 Oct 2003 Membre no 11 118 |
Bonjour,
J'ai une table avec une colonne DATE. J'aimerai afficher dans une page web un tableau de ce style : Mois | Lundi | Mardi .... Janv. | 2, 9,16| 3, 10... Soit réunir tous les "lundis" de janvier, tous les "mardis" de janvier... pour lesquels il y a un enregistrement. A savoir mon tableau commence en septembre et se termine en juillet. Pour l'instant je pars sur une boucle basée sur cette requête : Code SELECT jour, idcal FROM calendrier ORDER BY MONTH(jour), WEEKDAY(jour) '; et j'essaie par php de gérer la construction du tableau (pour l'instant c'est pas bon !). Code $mois = 9; $semaine = 0; while ($cal=xxx) { $numjour = date("l", strtotime($cal['jour']))-1; if ($numjour == -1) { $numjour= 6;} // pour gérer le décalage entre la fonction mysql qui démarre le lundi et celle de php qui commence le dimanche! if ($semaine < $numjour) { echo "</td><td>"; $semaine = $semaine+1; } if ($semaine == 7) { $semaine = 0; } if (date("m", strtotime($cal['jour'])) != $mois ) { // pour gérer le passage de décembre à janvier $cpt = $cpt+1; if ($cpt == 5){ $mois = 0; } while($mois < date("m", strtotime($cal['jour']))) { echo "</tr><tr>"; $mois = $mois+1; } } } Je suis sur la bonne voie ou il y a une méthode plus simple ? Merci ! Ce message a été modifié par hellomorld - 23 May 2015, 13:27. -------------------- |
|
|
23 May 2015, 14:55
Message
#2
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 516 Inscrit : 7 Oct 2001 Membre no 962 |
As tu essayé un group by ?
Code select dayofweek(une_date) as JOUR, group_concat(day(une_date) separator ', ') as JOURS from une_table where une_date between '2015-05-01' and '2015-05-31' group by dayofweek(une_date) |
|
|
23 May 2015, 17:00
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 6 150 Inscrit : 31 Oct 2003 Membre no 11 118 |
As tu essayé un group by ? Code select dayofweek(une_date) as JOUR, group_concat(day(une_date) separator ', ') as JOURS from une_table where une_date between '2015-05-01' and '2015-05-31' group by dayofweek(une_date) Avec une boucle pour changer de mois, ça semble parfait, merci ! -------------------- |
|
|
Nous sommes le : 24th April 2024 - 00:35 |