Page 1 sur 1

Calendrier : afficher le nb de rdv par jour

Posté : 02 août 2006, 22:48
par charles59
Bonjour la communauté,

J'ai un p'tit soucis Mysql...

J'ai une table rendez-vous (très allégée)

Et j'aimerai afficher le nombre de rendez-vous par jour (même les jours sans rendez-vous) du mois de Septembre 2006

Voici la table Rendez-vous :

Image

Et voici le resultat que je cherche à obtenir :

Image

Sachant que je souhaite faire cela uniquement en requete Mysql...



D'après moi, c'est impossible, je devrai passer par un Array...


Merci d'avance

Posté : 02 août 2006, 23:22
par Cyrano
Le problème est que les jours sans rendez-vous ne font l'objet d'aucune ligne dans la table. Donc une requête de base ne pourra pas créer des lignes qui n'existent pas. En revanche, il n'est pas exclus qu'il soit possible de le faire via une fonction ou une procédure stockée en SQL. Mais je ne m'aventurerai pas trop loin sur le sujet et ça dépend aussi de la version de ton serveur. À partir de la version 5.x.x, il est possible de créer des procédures stockées, explore déjà un peu la doc sur le sujet

Posté : 02 août 2006, 23:46
par Hubert Roksor
Dieux bénisse la "Revue du topic", j'ai failli répondre en double :]

Pour compléter ce que proposait Cyrano je peux te conseiller de jeter un coup d'œil du côté des Tutoriels d'introduction de MySQL et plus particulièrement des Exemples de requêtes usuelles.

Comme le dit Cyrano, tu ne peux pas compter ce qui n'est pas dans ta base, mais tu peux avoir le nombre de rendez-vous par jour avec une requête comme

Code : Tout sélectionner

SELECT jour, COUNT(*) AS nb_rdv FROM table GROUP BY rendez_vous
Un conseil: mets les noms de tous tes champs en minuscules et surtout n'utilise pas de tiret sinon tu seras obligé de systématiquement les encadrer entre des ` (AltGr+7) pour que MySQL ne confonde pas le noms des colonnes avec l'opérateur de soustraction (tiret = signe moins). Utilise des tirets bas _ à la place, comme dans mon exemple.

Autre chose, si tu stockes des dates, utilise le champs approprié sans quoi il te sera impossible de sélectionner une période donnée (par exemple "du 1er au 15 septembre").

Posté : 03 août 2006, 08:09
par charles59
Merci Cyrano et Hubert Roksor pour vos réponses :)

Oui, je sais tout ça mais je demandai au cas où il aurait une astuce...


Pour ce qui est du champs date, du nom de mes champs : c'était un exemple que j'ai effectué sous excel juste histoire que ça soit bien clair...

Évidemment, je ne vais pas utilisé 01/09/2006 mais plutôt 2006/09/01 :)

Bon bah je crois que je vais tout mettre dans un tableau Php :)