[mysql] pb de conception d'une requête

pb de conception d'une requête [mysql] - PHP - Programmation

Marsh Posté le 03-10-2003 à 11:36:38    

:hello: all
 
Voilà, je suis en train de faire une petite appli web en php/mysql pour gérer des cours que je donne :)
Dans un module de cette appli, j'ai un calendrier, où il est possible de déplacer un cours, en cliquant sur le bouton radio dans la case correspodant au jour.
 
Ce que je voudrais faire, c'est indiquer sur le calendrier, par exemple en mettant un fond d'une autre couleur, les jours où il y a déjà un cours. Le problème, c'est que je vois pas trop comment m'y prendre :/ ... La solution de facilité, ce serait, pour chaque jour de faire une requête du style
SELECT count(*) FROM cours WHERE date_cours='2003-10-02'
par exemple, mais bon, j'affiche 2 mois sur la page, soit près de 60 requêtes :sweat:. Solution bcp trop lourde.
 
Qqun voit comment mieux faire ?
 
Voici la description de la table au cas où:
 

mysql> desc cours;
+------------+--------------+------+-----+------------+----------------+
| Field      | Type         | Null | Key | Default    | Extra          |
+------------+--------------+------+-----+------------+----------------+
| id         | int(11)      |      | MUL | NULL       | auto_increment |
| date_cours | date         |      |     | 0000-00-00 |                |
| eleve_id   | int(11)      |      |     | 0          |                |
| duree      | float(11,1)  |      |     | 1.0        |                |
| valide     | int(11)      |      |     | 1          |                |
| resume     | varchar(150) |      |     |            |                |
+------------+--------------+------+-----+------------+----------------+
6 rows in set (0.01 sec)
 
mysql>


 
 :jap:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 03-10-2003 à 11:36:38   

Reply

Marsh Posté le 03-10-2003 à 11:41:12    

Code :
  1. select disctinct date_cours from cours where ....


Cette requete te remontera uniquement les dates ou tu as un cours. Il ne te reste plus ensuite qu'a comparer avec la date de ton calendrier.

Reply

Marsh Posté le 03-10-2003 à 11:48:19    

justement... à chaque fois que je crée une nouvelle "case" dans mon calendrier, comment je fais pour chercher la date en cours dans les résultats de ta requête ? [:wam]


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 03-10-2003 à 11:58:53    

Comment fait tu ta case?
Je suppose que tu generes ton mois complet en php à partir de la date du jours non?
Donc tu recuperes le resultat de la requete precedente tu stockes dans un tableau, pour chaque jour en php tu vérifies si la date est présente dans ce précédent tableau.
Et si tu as pas envie de faire une boucle par jour sur ton tableau, tu stockes les resultats précédents dans un string et pour chaque jour php tu fais un strcmp.


Message édité par anapajari le 03-10-2003 à 11:59:09
Reply

Marsh Posté le 03-10-2003 à 12:01:27    

Oui, jvois ce que tu veux dire.
 
Je vais essayer de chercher dans cette direction là :) L'histoire du tableau me plait assez ;)
 
merci :hello:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 21-10-2003 à 19:37:33    

Tu peux faire une requête qui récupère tous les enregistrements ayant des dates dans l'intervalle considéré, triés par date.
Et tu parcours ce résultat au fur et à mesure que tu construits ton tableau :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed