Creation d'un calendrier simple de congés avec Mysql...dernier soucis
stevethx27
Messages postés8Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention 3 mai 2006
-
10 févr. 2006 à 11:59
cs_krma
Messages postés20Date d'inscriptionsamedi 20 septembre 2003StatutMembreDernière intervention14 août 2008
-
18 juil. 2008 à 11:29
Bonjour,
Je concois actuellement un calendrier hebdomadaire simple de congé pour ma boite.
Une simple base Mysql alimente le tableau
table planning : id, employé, date_debut_conge, date_fin_conge
Le script ci-dessous fonctionne trés bien seulement : si un employé a 2 jours de congés dans la semaine, la requete et le script renvoie 2 lignes pour ce même employé, ce qui fait pas pro.
Et là franchement ça fait 2 jours que je cherche car je ne suis pas un codeur professionel, et je commence à fatiguer sur le problème. Il doit y avoir une boucle à faire quelque part...mais ou ?
PS : le script est sans aucun doute trés mal codé...soyez indulgent merci
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans nom</title>
</head>
$query2=\"SELECT employe,date_debut_conge,date_fin_conge FROM plan WHERE employe='$requet1->employe' GROUP BY employe,date_debut \";
$res2=mysql_query($query2);
while ($requet2=mysql_fetch_object($res2));
{
cs_krma
Messages postés20Date d'inscriptionsamedi 20 septembre 2003StatutMembreDernière intervention14 août 2008 15 juil. 2008 à 19:53
Bonsoir, en fait ce code est super, mais j'essaie de l'adapter pour un planning de cours et en reprenant ton code, mes employés Maurice et Robert ne sont jamais en congés ! J'ai corrigé les petits oublis : $requet1->date_debut_conge, $requet1->date_fin_conge, $timestamp5... il manquait parfois _ conge dans les conditions et la requete.
En tout cas, si tu as depuis, résolu ton probleme, j'avoue que je serai très interessé par ton code, si ça ne t'ennuie pas trop.
Merci
stevethx27
Messages postés8Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention 3 mai 2006 18 juil. 2008 à 08:18
Bonjour,
En fait j'ai laissé tombé ce code faute d'autres projet plus important.
Mais je sais qu'un jour ou l'autre je vais en avoir besoin donc j'y replongerai sans doute. J'ai observé vos modifs mais n'en ai pas vérifié les effets...voit-on toujours apparaitre dans le cas mentionné au début du post ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_krma
Messages postés20Date d'inscriptionsamedi 20 septembre 2003StatutMembreDernière intervention14 août 2008 18 juil. 2008 à 11:29
Bonjour, merci pour votre réponse. En fait, je vais paraitre idiot, mais chez moi, rien ne s'affiche. Je suppose que ça vient de la table.. J'ai mis un champ DATE au format Y:d:m essayé toutes les permutations pour que les date_debut_conge et date_fin_conge correspondent au format de votre fonction mais sans succès.
C'est un détail mais si à l'occasion vous pouviez me dire sous quelle forme est votre champ date dans la BDD :-), je pense que ça vient de là.
Pour le fait de n'afficher qu'un seul row par employé, on m'a conseillé, sur d'autres forums, d'éviter les boucles dans les boucles et de bosser plutot la requete (la rendre plus complete et donc, plus complexe), alors que pour une tableau multidimensionnel, on a pas trop le choix. Personne n'a vraiment pu m'aider et je n'ai trouvé aucun planning hebdomadaire existant digne de ce nom.
Du coup (je raconte ma vie), j'ai opté pour un masque de saisie par heure de la journée, comprenant un champ par jour de la semaine. Je peux afficher mes cours (ou conges) dans les bonnes cases en bouclant sur $heure (8h, 9h, 10h...) et en triant par $jour, mais c'est évidemment bien moins puissant que votre code, puisqu'on est obligé de renseigner chaque jour de la semaine (7 fois le meme masque de saisie et on boucle par groupe de 7 pour changer d'heure la ligne en dessous).
En tout cas, vu que personne ne semble avoir déjà cpdé qque chose d'approchant, je pense que vous tenez un truc là !
Je regrette de n'avoir pas le niveau pour optimiser votre fonction, que je me suis permis de montrer à des amis plus doués, et personne n'a pu me donner la soluce...
J'y ai passé 3 jours et je suis sur que c'est la bonne piste (la votre), il manque un détail qui m'échappe encore mais si jamais vous trouvez (ou moi), on se tient au courant parce qu'il est vraiment énorme votre tableau !