par
WoBy » 12 mai 2005, 08:43
Salutation
Apres que j'arrive a afficher les rdv ds mon planning je m'attak aux absences. Comme pr les rdv, je vai chercher ca ds mes tables mais ensuite des que jveu afficher ca ds mes cellules tout bug.
Il faut rajouter un if pr les ABS mais bon ca seré cool si kelk1 m'aidait car jfai la meme chose que pr les RDv mais ca foire.
Merci
<!-- On construit et génère le tableau -->
<table width="100%" height="75%" border="6" cellpadding="5" cellspacing="2" table background="images/fond2.gif">
<tr><th width="10%">
<?
//La base de données
$jour=Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi");
//initialiser les RDV et leurs durées (à rien et 0 heure par défaut)
for ($c=0; $c<10; $c++) for ($j=0; $j<5; $j++) $RDV [$c][$j] = ".";
for ($c=0; $c<10; $c++) for ($j=0; $j<5; $j++) $durées_RDV [$c][$j] = 0;
//On affiche l'entête du tableau (Les jours)
for ($j=0; $j<5; $j++) {
?>
<th width="18%" class="colonnetableau">
<?
$aWeek=$vsem; $aYear=$van;
for ($aDay=0;$aDay<5;$aDay++) {
$adate=datefromweeknr($aYear, $aWeek, $aDay+1);
if ($j==$aDay) {
echo "$jour[$j]";
$datentete = date('Y-m-d',$adate);
echo ' '.date('d-m-Y',$adate).'<br>';
require('config/myConnexion.php');
require('config/connect.php');
$query2 = 'SELECT libelle_rdv as lib, heure_deb, heure_fin, date FROM rendezvous, avoir WHERE avoir.code_rdv=rendezvous.code_rdv AND code_util="'.$vnom.'" and date="'.$datentete.'"';
$result2 = mysql_query ($query2) or die (" La requête pour la recherche des rendez-vous a échouée ");
while ($row_Resul2=mysql_fetch_assoc($result2)) {
if ($row_Resul2['date'] == $datentete) {
$c = $row_Resul2['heure_deb']-8 ;
$j = $aDay;
$RDV [$c][$j] = $row_Resul2['lib'];
$durées_RDV [$c][$j] = $row_Resul2['heure_fin']-$row_Resul2['heure_deb']; }
}
mysql_close();
require('config/myConnexion.php');
require('config/connect.php');
$query3 = 'SELECT motif as lib, duree, date FROM absence, etre WHERE etre.code_abs=absence.code_abs AND code_util="'.$vnom.'" and date="'.$datentete.'"';
$result3 = mysql_query ($query3) or die (" La requête pour la recherche des absences a échouée ");
while ($row_Resul3=mysql_fetch_assoc($result3)) {
if ($row_Resul3['date'] == $datentete) {
$ABS [$c][$j] = $row_Resul3['lib'];
$j = $aDay;
if ($row_Resul3['duree'] == "Matinee") { $c = 0 ; $durées_ABS [$c][$j] = 5;}
if ($row_Resul3['duree'] == "Apres_midi") { $c = 5 ; $durées_ABS [$c][$j] = 5;}
if ($row_Resul3['duree'] == "Journee") { $c = 0 ; $durées_ABS [$c][$j] = 10;}
}
}
mysql_close();}
}
}
//En suite on affiche les 10 lignes correspondants aux crénneaux allant de 8H à 18H
//Les 8 crénneau peuvent être calculés automatiquement à partir de 8H
$hd = 8; //Heure de départ des crénneaux d'un jour
for ($c=0; $c<10 ; $c++){
//La première colonne de la ligne contient le crénneau calculé à partir de $hd
?>
<tr>
<th width="10%" class="lignetableau">
<?
//La durée affichée d'un crénneau est toujour 1 heure
$hf = $hd +1; //par exemple $hf contient 9H si $hd contient 8H
echo "$hd"."H"." à "."$hf"."H";
//Préparer le crénneau suivant
$hd += 1;
//La deuxieme partie de la ligne affichée contient les RDV des 5 jours
for ($j=0; $j<5 ; $j++){
//Attention: ne pas créer de céllule si le crénneau précédent l'a déjà consommée à cause d'une durée qui dépasse 1 heure
//$c : le n° du crénneau et $j celui du jour du RDV
if (!($c>0 && $durées_RDV[$c-1][$j]>0)) {
//la céllule qui s'affiche peut consommer plusieurs lignes selon la durée du RDV planifié (c'est ROWSPAN qui s'en charge)
//BGCOLOR permet de peindre le fond si le RDV existe
//COLOR change de couleur de texte si le RDV existe
?>
<td valign="middle" align="center" width="18%" rowspan=<? echo $durées_RDV[$c][$j]; ?>
bgcolor="<? echo $durées_RDV[$c][$j]>0?"silver":""; ?>" color="<? echo $RDV[$c][$j]=="."?"":"red"; ?>">
<?
echo $RDV[$c][$j];
}//fin if
}//fin for $j
}//fin for $c
?>
</table>
Salutation
Apres que j'arrive a afficher les rdv ds mon planning je m'attak aux absences. Comme pr les rdv, je vai chercher ca ds mes tables mais ensuite des que jveu afficher ca ds mes cellules tout bug.
Il faut rajouter un if pr les ABS mais bon ca seré cool si kelk1 m'aidait car jfai la meme chose que pr les RDv mais ca foire.
Merci
<!-- On construit et génère le tableau -->
<table width="100%" height="75%" border="6" cellpadding="5" cellspacing="2" table background="images/fond2.gif">
<tr><th width="10%">
<?
//La base de données
$jour=Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi");
//initialiser les RDV et leurs durées (à rien et 0 heure par défaut)
for ($c=0; $c<10; $c++) for ($j=0; $j<5; $j++) $RDV [$c][$j] = ".";
for ($c=0; $c<10; $c++) for ($j=0; $j<5; $j++) $durées_RDV [$c][$j] = 0;
//On affiche l'entête du tableau (Les jours)
for ($j=0; $j<5; $j++) {
?>
<th width="18%" class="colonnetableau">
<?
$aWeek=$vsem; $aYear=$van;
for ($aDay=0;$aDay<5;$aDay++) {
$adate=datefromweeknr($aYear, $aWeek, $aDay+1);
if ($j==$aDay) {
echo "$jour[$j]";
$datentete = date('Y-m-d',$adate);
echo ' '.date('d-m-Y',$adate).'<br>';
require('config/myConnexion.php');
require('config/connect.php');
$query2 = 'SELECT libelle_rdv as lib, heure_deb, heure_fin, date FROM rendezvous, avoir WHERE avoir.code_rdv=rendezvous.code_rdv AND code_util="'.$vnom.'" and date="'.$datentete.'"';
$result2 = mysql_query ($query2) or die (" La requête pour la recherche des rendez-vous a échouée ");
while ($row_Resul2=mysql_fetch_assoc($result2)) {
if ($row_Resul2['date'] == $datentete) {
$c = $row_Resul2['heure_deb']-8 ;
$j = $aDay;
$RDV [$c][$j] = $row_Resul2['lib'];
$durées_RDV [$c][$j] = $row_Resul2['heure_fin']-$row_Resul2['heure_deb']; }
}
mysql_close();
require('config/myConnexion.php');
require('config/connect.php');
$query3 = 'SELECT motif as lib, duree, date FROM absence, etre WHERE etre.code_abs=absence.code_abs AND code_util="'.$vnom.'" and date="'.$datentete.'"';
$result3 = mysql_query ($query3) or die (" La requête pour la recherche des absences a échouée ");
while ($row_Resul3=mysql_fetch_assoc($result3)) {
if ($row_Resul3['date'] == $datentete) {
$ABS [$c][$j] = $row_Resul3['lib'];
$j = $aDay;
if ($row_Resul3['duree'] == "Matinee") { $c = 0 ; $durées_ABS [$c][$j] = 5;}
if ($row_Resul3['duree'] == "Apres_midi") { $c = 5 ; $durées_ABS [$c][$j] = 5;}
if ($row_Resul3['duree'] == "Journee") { $c = 0 ; $durées_ABS [$c][$j] = 10;}
}
}
mysql_close();}
}
}
//En suite on affiche les 10 lignes correspondants aux crénneaux allant de 8H à 18H
//Les 8 crénneau peuvent être calculés automatiquement à partir de 8H
$hd = 8; //Heure de départ des crénneaux d'un jour
for ($c=0; $c<10 ; $c++){
//La première colonne de la ligne contient le crénneau calculé à partir de $hd
?>
<tr>
<th width="10%" class="lignetableau">
<?
//La durée affichée d'un crénneau est toujour 1 heure
$hf = $hd +1; //par exemple $hf contient 9H si $hd contient 8H
echo "$hd"."H"." à "."$hf"."H";
//Préparer le crénneau suivant
$hd += 1;
//La deuxieme partie de la ligne affichée contient les RDV des 5 jours
for ($j=0; $j<5 ; $j++){
//Attention: ne pas créer de céllule si le crénneau précédent l'a déjà consommée à cause d'une durée qui dépasse 1 heure
//$c : le n° du crénneau et $j celui du jour du RDV
if (!($c>0 && $durées_RDV[$c-1][$j]>0)) {
//la céllule qui s'affiche peut consommer plusieurs lignes selon la durée du RDV planifié (c'est ROWSPAN qui s'en charge)
//BGCOLOR permet de peindre le fond si le RDV existe
//COLOR change de couleur de texte si le RDV existe
?>
<td valign="middle" align="center" width="18%" rowspan=<? echo $durées_RDV[$c][$j]; ?>
bgcolor="<? echo $durées_RDV[$c][$j]>0?"silver":""; ?>" color="<? echo $RDV[$c][$j]=="."?"":"red"; ?>">
<?
echo $RDV[$c][$j];
}//fin if
}//fin for $j
}//fin for $c
?>
</table>