HELP for génération planning

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : HELP for génération planning

par Cyrano » 02 juin 2005, 19:18

Bon, ben de mon coté, j'y ai mis le temps, mais j'arrive à une solution qui fonctionne. J'ai en fait complètement repris la génération des lignes et des cellules: Il te restera à adapter pour le contenu, je n'ai pas modifié tes variables d'origine, mais j'ai utilisé un système de pointeur en tableau pour m'y retrouver. Méchant casse tête, mais le résultat est là:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr">
<title>Agenda</title>
<style type="text/css">
td {text-align: center}
</style>
</head>
<body>
<?
//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)
// $c représente la cellule pr l'heure de debut et $j le jour du RDV
/*
for ($c=0; $c <10; $c++)
{
for ($j=0; $j<=4; $j++)
{
$RDV[$c][$j] = "&nbsp;";
}
}
for ($c=0; $c <10; $c++)
{
for ($j=0; $j<=4; $j++)
{
$durees_RDV [$c][$j] = 0;
}
}
*/
// exemples de RDV en dur
// RDV1 le lundi de 8h à 11h
$RDV [0][0] = "RDV1";
$durees_RDV [0][0] = 3;
// RDV2 le mardi de 13h à 18h
$RDV [1][5] = "RDV2";
$durees_RDV [1][5] = 5;
// RDV3 le mercredi de 9h à 12h
$RDV [2][1] = "RDV3";
$durees_RDV [2][1] = 4;
// RDV4 le vendreddi de 12h à 14h
$RDV [4][4] = "RDV4";
$durees_RDV [4][4] = 2;
?>
<!-- On construit et génère le tableau -->
<table width="100%" border="6" cellpadding="5" cellspacing="2" summary="">
  <tr>
    <th width="11%">&nbsp;</th>
<?php
//On affiche l'entête du tableau (Les jours)
for ($j=0; $j<=4; $j++)
{
    ?>
    <th width="18%"><? echo $jour[$j]; ?> </th>
    <?
}
?>
  </tr>
<?
/* Construction du pointeur */
$repere = array();
for($a = 0; $a < 10; $a++)
{
    $repere[$a] = array();
    for($o = 0; $o < 5; $o++)
    {
        $repere[$a][$o] = 0;
    }
}

/* construction des lignes de 8h00 à 18h00 */
for($l = 0; $l < 10; $l++)
{
    ?>
  <tr>
    <th>De <?php echo($l+8) ?>h00 à <?php echo($l + 9) ?>h00</th>
    <?php
    /* Construction des cellules */
    for($j = 0; $j < 5; $j++)
    {
        if($repere[$l][$j] == 0)
        {
            /* Construction des cellules avec si nécessaire rowspan si rdv sur plus d'une heure */
            $rendez_vous = isset($RDV[$j][$l])?$RDV[$j][$l]:"&nbsp;";
            $duree = ($rendez_vous != "&nbsp;")?" rowspan =\"".$durees_RDV[$j][$l] ."\" style=\"color: #ff0000; background-color: #cccccc\"":null;
	    	?>
    <td <?php echo($duree); ?>><?php echo($rendez_vous); ?></td>
	    	<?php
	    	$dr = isset($durees_RDV[$j][$l])?$durees_RDV[$j][$l]:null;
	    	if($dr != null && $dr > 1)
	    	{
	    	    $dr--;
	    	    $t1 = $l + 1;
	    	    for($c = 0; $c < $dr; $c++)
	    	    {
	    	        $repere[$t1][$j]++;
	    	        $t1++;
	    	    }
	    	}
        }
    }
    ?>
  </tr>
    <?php
}
?>
</table>
</body>
</html>
Si tu as des problèmes avec celui-ci, préviens moi et dis-moi ce qui cloche.

par Poissal » 02 juin 2005, 16:59

Ok, merci beaucoup sadeq pour ton aide précieuse.
Je vais vérifier si ca marche
:D

par sadeq » 02 juin 2005, 16:49

Attention, il ne faut jamais remettre en cause une solution en bidouillant et ajoutant des trucs qu'on ne peut plus maitriser.
Introduire une nouvelle façon pour résoudre le problème affecte négativement ton code. D'autant plus que tu ne sais même pas pourquoi ça ne fonctionne pas comme tu veux.

En fait, ton code est correct même sans les fermétures des th et des td.
Ce qui ne va pas c'est la condition IF qui te permet de savoir si tu dois placer une céllule ou pas.
On lit dans ton code au niveau de :
//Attention: ne pas créer de cellule si le créneau précédent l'a déjà consommée à cause d'une durée qui dépasse 1 heure
//$c : le n° du créneau et $j celui du jour du RDV
if (!($c>0 && $durées_RDV[$c-1][$j]>1)) {
//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":""; ?>" style="color:<? echo $RDV[$c][$j]=="Rien"?"":"red"; ?>">
<?
echo $RDV[$c][$j];
}//fin if 
que tu ne place ce <td> que si la durée du créneau $c-1 précédent le créneau $c en cours ne dépasse 1.
Hé bien ce n'est pas suffisant, le créneau $c-1 n'est pas obligé d'avoir une durée >1 et qu'il soit le responsable d'un rowspan (qui peut être provoqué par un $c-2 ou inférieur)
En d'autres termes, pour placer un créneau $c ou pas, il faut vérifier tous les créneaux allant de $c à 0 pour voir si un de ces crénneau inférieurs $ $c a déja placé un rowspan parceque sa durée est >1.

Je te propose une correction de cette condition. En fait, c'est une petite fonction qui parcours la plage de $c à 0 à la recherche d'un créneau précédent à $c qui aurait placé un rowspan et qui répond : occupé ou pas.

Et là ça marche sur des roulettes même si t'as plusieurs RDV dans la même journée.

ton programme corrigé :
<table width="100%" border="6" cellpadding="5" cellspacing="2" table background="images/fond2.gif"> 
<tr><th width="11%"> 
<?
//Fonction qui cherche si un créneau $c est placé dans une plage occupée par des créneaux et ce pour le même jour $j 
function occupé($c,$j){
	//Pour accèder au tableau
	global $durées_RDV;
	//Cherche le premier créneau occupé ce jour $j où $c est inclu : dans ce cas retourne vrai
	for ($x=0; $x < $c; $x++) if ($durées_RDV[$x][$j]>1 &&  $c < $x + $durées_RDV[$x][$j]) return true;
	//si aucun créneau occupé trouvé retourne faux
	return false; 
}
//La base de données 
$jour=Array(0=>"Lundi", 1=>"Mardi", 2=>"Mercredi", 3=>"Jeudi", 4=>"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] = "Rien"; 
for ($c=0; $c < 10; $c++) for ($j=0; $j <5; $j++) $durées_RDV [$c][$j] = 0; 

// exemples de RDV en dur
// RDV le lundi de 8h à 16h
$RDV [0][0] = "RDV1";
$durées_RDV [0][0] = 8;
// RDV le mardi de 8h à 10h
$RDV [0][1] = "RDV2";
$durées_RDV [0][1] = 2;
// RDV le mardi de 13h à 18h
$RDV [5][1] = "RDV3";
$durées_RDV [5][1] = 5;
// RDV le mercredi de 9h à 14h
$RDV [1][2] = "RDV4";
$durées_RDV [1][2] = 5;
// RDV le vendreddi de 11h à 13h
$RDV [3][4] = "RDV5";
$durées_RDV [3][4] = 2; 
// RDV le vendreddi de 15h à 17h
$RDV [7][4] = "RDV6";
$durées_RDV [7][4] = 2; 


//On affiche l'entête du tableau (Les jours) 
for ($j=0; $j<5; $j++) { 
?> 
<th> 
<? 
echo "$jour[$j]"; 
} 

//En suite on affiche les 8 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> 
<? 
//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; 
//Correction pour le passage de midi à l'après-midi 
//if ($hf == 12) $hd = 14; 

//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 (!occupé($c,$j) ) { //voir la fonction occupé() qui determine si une céllule peut être créée
//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]>0?$durées_RDV[$c][$j]:""; ?> 
bgcolor="<? echo $durées_RDV[$c][$j]>0?"silver":""; ?>" style="color:<? echo $RDV[$c][$j]=="Rien"?"":"red"; ?>"> 
<? 
echo $RDV[$c][$j]; 
}//fin if 
}//fin for $j 
}//fin for $c 
?> 
</table> 

par Poissal » 02 juin 2005, 16:41

Ok c'est cool, de mon coté j'essaye de aussi de faire des test +

par Cyrano » 02 juin 2005, 16:29

Bon, là je trouve pas immédiatement, l'idée est là, mais ça fonctionne pas, je vais faire des tests.

par Poissal » 02 juin 2005, 16:03

Ok, j'ai déjà modiié mon code en sorte d'obtenir le code HTML avec les balises situées aux bons endroits.

Maintenant, faut bidouiller avec Rowspan à l'aide du pointeur donc.

Voila mon code avec les bonnes balises, ou dois-je mettre les lignes du tableaux ?

pour la modification, je dois utiliser une boucle IF ?
Merci d'avance
<!-- On construit et génère le tableau -->
<table width="100%" border="6" cellpadding="5" cellspacing="2"> 
<tr><th width="11%"></th> 
<? 
//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)
// $c représente la cellule pr l'heure de debut et $j le jour du RDV 
for ($c=0; $c <10; $c++) for ($j=0; $j<=4; $j++) $RDV [$c][$j] = "Rien"; 
for ($c=0; $c <10; $c++) for ($j=0; $j<=4; $j++) $durées_RDV [$c][$j] = 0; 

// exemples de RDV en dur
// RDV1 le lundi de 8h à 11h
$RDV [0][0] = "RDV1"; 
$durées_RDV [0][0] = 3; 
// RDV2 le mardi de 13h à 18h
$RDV [5][1] = "RDV2"; 
$durées_RDV [5][1] = 5; 
// RDV3 le mercredi de 9h à 12h
$RDV [1][2] = "RDV3"; 
$durées_RDV [1][2] = 4; 
// RDV4 le vendreddi de 12h à 14h
$RDV [4][4] = "RDV4"; 
$durées_RDV [4][4] = 2; 

//On affiche l'entête du tableau (Les jours) 
for ($j=0; $j<=4; $j++) { 
?> 
<th> 
<? 
echo "$jour[$j]"; ?> </th><?
}  ?>
</tr>
<?
//Ensuite on affiche les 10 lignes correspondants aux crénneaux allant de 8H à 18H 
//Les 10 créneaux peuvent être calculés automatiquement à partir de 8H 
$hd = 8; //Heure de départ des créneaux 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> 
<? 
//La durée affichée d'un créneau 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; 
?>
</th>
<?
//La deuxieme partie de la ligne affichée contient les RDV des 5 jours 
for ($j=0; $j<=4 ; $j++){ 
//Attention: ne pas créer de cellule si le créneau précédent l'a déjà consommée à cause d'une durée qui dépasse 1 heure 
//$c : le n° du créneau et $j celui du jour du RDV 
if (!($c>0 && $durées_RDV[$c-1][$j]>1)) { 
//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":""; ?>" style="color:<? echo $RDV[$c][$j]=="Rien"?"":"red"; ?>">
<? 
echo $RDV[$c][$j];
}//fin if
?></td> <? 
}//fin for $j
?></tr> <? 
}//fin for $c 
?> 

</table>

par Cyrano » 02 juin 2005, 14:55

Il faut utiliser un système de pointeur, par exemple, tu sais que tu as six cellules par ligne.

Tu sais d'autre part que si tu fais un rowspan = x sur une cellule, tu devras avoir autant de fois une cellule de moins sur les x-1 lignes suivante, un rowspan de 3 par exemple coupera une cellule sur 2 lignes suivantes.

Tu as enfin une boucle pour les lignes; à l'intérieur de cette boucle, tu as une boucle pour les colonnes (les cellules) .

Je crois que tu vas devoir utiliser un tableau. Au début de la première boucle, tu sais en principe combien tu auras de lignes et de colonnes. Pour savoir combien tu dois mettre de cellules, il faut savoir à quelle ligne tu en es et vérifier dans le tableau combien de tour doit faire la boucle. Si tu fais un rowspan, il te faut modifier une ou plusieurs valeurs dans le tableau.

Idée générale, le tableau pourrait être:
//nombre de lignes ? exemple 4
$ligne = array();
$ligne[1] = 6
$ligne[2] = 6
$ligne[3] = 6
$ligne[4] = 6
Si à la ligne 1 tu as un rowspan=2, tu dois modifier la ligne suivante , donc
$ligne[2]--; // ce qui revient à $ligne[2] = 5;

par Poissal » 02 juin 2005, 14:39

Oui, je comprends Cyrano mais je ne sais pas trop comment m'y prendre ds mon code PHP

par Cyrano » 02 juin 2005, 14:16

Le problème vient de ce que quand tu crées une ligne du tableau, si un rendez-vous dois être sur plusieurs lignes, il faut que les lignes suivantes aient une cellule de moins. Je ne sais pas si tu saisis le schéma... :?:

par Poissal » 02 juin 2005, 14:02

Ds le code, il faut enlever une ligne ROWSPAN = 0 pr le créneau 11-12H et 12-13H et la ca fonctionne. Mais je vois toujours pas dou vient le pb ?!
:cry:

par Poissal » 02 juin 2005, 13:56

J'ai testé ton code corrigé Cyrano mais ca fait rien. Ya rien qui change d'un poil et mon tableau reste exactement le même avec des cellules qui se rajoute en dehors du tableau.
Tu es sur que le pb vient de la? pas ds l'exécution de ma boucle?

Si tu remplace ds le code que tu m'a donné ds le créneau 9h-10h pr le RDV3 ROWSPAN=2 par ROWSPAN=4 ca bug !


Je me retrouv au point de départ..

par Cyrano » 02 juin 2005, 11:56

Poissal, dtrois chose:
-1- t'inscrire;
-2- Le code;
-1- Le corrigé et des explications;

Inscris-toi donc au forum, tu pourras éditer ton code pour faire ce que j'explique au point 2

Quand tu mets du code, utilise les boutons [ PHP ] (Alt + X) ou [ Code ] (Alt + C)

Ton tableau obtenu: voici à quoi il devrait ressembler s'il était correct:
<head>
<title>Gestion du planning des employés</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<!-- Lien de la feuille de style -->
<link rel="stylesheet" type="text/css" href="style.css">
<br>
<h2 class="titre">PLANNING HEBDOMADAIRE</h2>
<br>
<!-- On construit et génère le tableau -->
<table width="100%" border="6" cellpadding="5" cellspacing="2">
  <tr>
    <th width="11%">&nbsp;</th>
    <th>Lundi</th>
    <th>Mardi</th>
    <th>Mercredi</th>
    <th>Jeudi</th>
    <th>Vendredi</th>
  </tr>
  <tr>
    <th>8H à 9H</th>
    <td valign="middle" align="center" width="18%" rowspan=3 bgcolor="silver" style="color:red"> RDV1 </td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
  </tr>
  <tr>
    <th>9H à 10H</th>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=2 bgcolor="silver" style="color:red"> RDV3 </td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
  </tr>
  <tr>
    <th>10H à 11H</th>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
  </tr>
  <tr>
    <th>11H à 12H</th>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
  </tr>
  <tr>
    <th>12H à 13H</th>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=2 bgcolor="silver" style="color:red"> RDV4 </td>
  </tr>
  <tr>
    <th>13H à 14H</th>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=5 bgcolor="silver" style="color:red"> RDV2 </td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
  </tr>
  <tr>
    <th>14H à 15H</th>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
  </tr>
  <tr>
    <th>15H à 16H</th>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
  </tr>
  <tr>
    <th>16H à 17H</th>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
  </tr>
  <tr>
    <th>17H à 18H</th>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
    <td valign="middle" align="center" width="18%" rowspan=0 bgcolor="" style="color: #000000">&nbsp;</td>
  </tr>
</table>
</body>
</html>
Lorsque tu utilises un attribut rowspan dans une balise <td> dis-toi que ça signifie qu'il y aura obligatoirement une cellule de moins sur la ligne suivante. Comme tu n'en as pas tenu compte, tu te retrouves avec des cellules surnuméraires:

Fermes les balises <th> et les balises <tr>

Pars du code que je te mets ici pour corriger ton code PHP qui génère ce tableau

par poissal » 02 juin 2005, 11:39

Ca me donne ca dans le code source :

C'est bizarre : d'une mes balises ne sont pas fermés ok mais deux ya un truc qui me dérange.
Par exemple pr le RDV1 le lundi de 8h a 11h
Ca me le met pr le créneau 8h-9h Ok mais ca me devrai pa me le mettre aussi pr les créneaux 9h-10h et 10h-11h?
Olalala je suis completement paumé lol

<head>
<title>Gestion du planning des employés</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<!-- Lien de la feuille de style -->
<link rel="stylesheet" type="text/css" href="style.css">
<br>
<h2 class="titre">PLANNING HEBDOMADAIRE</h2>
<br>

<!-- On construit et génère le tableau -->
<table width="100%" border="6" cellpadding="5" cellspacing="2">
<tr><th width="11%">

<th>
Lundi
<th>
Mardi
<th>
Mercredi
<th>
Jeudi
<th>
Vendredi
<tr>
<th>
8H à 9H
<td valign="middle" align="center" width="18%" rowspan=3
bgcolor="silver" style="color:red">
RDV1 </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<tr>
<th>
9H à 10H
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=4
bgcolor="silver" style="color:red">
RDV3 </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<tr>
<th>
10H à 11H
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<tr>
<th>
11H à 12H
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<tr>
<th>
12H à 13H
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=2
bgcolor="silver" style="color:red">
RDV4 </td>
<tr>
<th>
13H à 14H
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=5
bgcolor="silver" style="color:red">
RDV2 </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<tr>
<th>
14H à 15H
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<tr>
<th>
15H à 16H
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<tr>
<th>
16H à 17H
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<tr>
<th>
17H à 18H
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>
<td valign="middle" align="center" width="18%" rowspan=0
bgcolor="" style="color:">
Rien </td>

</table>

par Cyrano » 02 juin 2005, 11:22

Quand tu ouvres ta page, édite la source obtenue, ça va t'aider à repérer ce qui est correctement fermé et ce qui ne l'est pas, à mon avis tu vas faire des découvertes édifiantes ;)

par Poissal » 02 juin 2005, 11:19

C'est vrai que j'ai oublié de fermer mes balises.
Mais ca change rien a mon pb j'ai l'impression a moins que je les ferme au mauvais endroit.
Mon tableau fonctionne correctement et mes cellules avec les RDV ossi sauf pour le RDv du vendredi qui est affiché en dehors.
Ou est-ce que je dois les fermer ? Sinon le pb vient-il du code?