Code : Tout sélectionner
jour[0]="<td rowspan="2">Musique</td>" (de 3h a 4h il y a rien)
jour[1]="" (car le champs est identique au celui du dessu d'ou le rowspan de 2)
jour[2]=<td rowspan="3">Un matin</td> rowspan de 3 car il y a treoi fois une demi heure)
jour[3]=""
jour[3]=""
jour[4]=............................
Code : Tout sélectionner
<html>
<head>
</head>
<body>
<? include("conf/conf.php"); ?>
<table width="100%" border="6" cellpadding="5" cellspacing="2" table background="images/fond2.gif">
<tr><th width="11%">
<?
// heure debut et fin de type hh:mm:ss
$requete= "SELECT TIME_TO_SEC(debut) AS secdebut, debut, TIME_TO_SEC(fin) AS secfin, fin, jour, emission FROM Emissions";
$resultat = mysql_query($requete,$connexion);
while ($row=mysql_fetch_assoc($resultat))
{
$secdebut= $row['secdebut']; //heure de debut en seconde
$start= $secdebut - 10800; // debut de l'emploi du temps a 3h soir 10800 seconde
$bloc= $start / 1800; // un bloc (celule = 30 mn)
// emission
$emission= $row['emission'];
$date =$row['date'];
if ($date = "1______") // Diamnche
{
$njour= "0";
}
if ($date = "_1_____") // Lundi
{
$njour= "1";
}
if ($date = "__1____") // Mardi
{
$njour= "2";
}
if ($date = "___1___") // Mercredi
{
$njour= "3";
}
if ($date = "____1__") // Jeudi
{
$njour= "4";
}
if ($date = "_____1_") // vendredi
{
$njour= "5";
}
if ($date = "______1") // Samedi
{
$njour= "6";
}
// On établit la durée du rendez-vous
$secdefin= $row['secdefin'];
$duree[$njour][$bloc]= $secdefin - $secdebut;
// S'il y a une émission onair=1
$onair = 1;
/* On construit le tableau $emission */
$ems[$njour][$bloc] = array($emission, $duree, $onair);
}
?>
</tr>
<?
//Ensuite on affiche les 48 lignes correspondants aux créneaux allant de 3H à 3H par demi heure
//Les 48 crénneau peuvent être calculés automatiquement à partir de 3H
$hd = 10800; //Heure de départ des créneaux d'un jour 10800=3h en sec
for ($c=0; $c < 48 ; $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 30MN
$hf = $hd +1800; //par exemple $hf contient 9H si $hd contient 8H
echo "$hd"."H"." à "."$hf"."H";
//Préparer le crénneau suivant
$hd += 1800;
//Correction pour le passage de 00h à 03h
if ($secdebut < "1300")
{
$secdebut += 86400;
}
//La deuxieme partie de la ligne affichée contient les RDV des 5 jours
for ($j=0; $j < 7 ; $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 $duree[$njour][$bloc]>0?$duree[$njour][$bloc]:""; ?>
bgcolor="<? echo $duree[$njour][$bloc]>0?"silver":""; ?>" style="color:<? echo $ems[$njour][$bloc]=="*"?"":"purple"; ?>">
<?
echo $ems[$njour][$bloc];
}
}
}
?>
</table>
</body>
</html>
Code : Tout sélectionner
<html>
<head>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<? include("conf/conf.php");
$start= 10800; // start= 3h
$id= 0;
$requete= "SELECT TIME_TO_SEC(debut) AS secdebut, TIME_TO_SEC(fin) AS secfin, emission FROM Emissions WHERE jour LIKE '_____1_'"; // test sur le vendredi DLMMJVS et metre un un sur le jour
$resultat = mysql_query($requete,$connexion);
while ($row=mysql_fetch_assoc($resultat))
{
$secdebut= $row[secdebut];
$secfin= $row[secfin];
$emission= $row[emission];
if ($start= $debut) // une émission
{
$temps= $secfin - $secdebut; //calcule en secde du temps de l'émission
$bloc= $temps/1800; // division du temps en demi heure = le nombre de ligne fusioné
$jour1[$id]='<td rowspan="$bloc">emission</td>'; // la case de l'émission
$id = $id++;
for ($boucle=$bloc; $boucle>1; $boucle--) // la boucle pour les colone vide du rowspan
{
$jour1[$id]='';
$id = $id++;
}
$start = $fin;
}
else // pas d'emission
{
$temps= $debut - $start; //calcule en secde du temps de l'émission
$bloc= $temps/1800; // division du temps en demi heure
$jour1[$id]='<td rowspan="$bloc">Rock non Stop</td>';
$id = $id++;
for ($boucle=$bloc; $boucle>1; $boucle--) // la boucle pour les colone vide du rowspan
{
$jour1[$id]='';
$id = $id++;
}
$start = $debut; //start = debut
}
}
?>
<table width="100%" border="2">
<tr>
<td width="0px"></td>
<td>
Heure
</td>
<td>
Lundi
</td>
<td>
Mardi
</td>
<td>
Mercredi
</td>
<td>
Jeudi
</td>
<td>
Vendredi
</td>
<td>
Samedi
</td>
<td>
Dimanche
</td>
</tr>
<?
//Ensuite on affiche les 48 lignes correspondants aux créneaux allant de 3H à 3H par demi heure
//Les 48 crénneau peuvent être calculés automatiquement à partir de 3H
$hd = 03; //Heure de départ des créneaux d'un jour 10800=3h en sec
$id= 0;
for ($c=0; $c < 24 ; $c++)
{
//La première colonne de la ligne contient le crénneau calculé à partir de $hd
echo'<tr>
<td></td>
<td rowspan="2">'.$hd.'H00</td>
'.$jour1[$id].'
<td valign="middle" align="center" rowspan="2"> ici le programlle du Mardi</td>
<td valign="middle" align="center" rowspan="2"> ici le programlle du Mercredi</td>
<td valign="middle" align="center" rowspan="2"> ici le programlle du Jeudi</td>
<td valign="middle" align="center" rowspan="2"> ici le programlle du vendredi</td>
<td valign="middle" align="center" rowspan="2"> ici le programlle du Samedi</td>
<td valign="middle" align="center" rowspan="2"> ici le programlle du Dimanche</td>
</tr>';
$id= $id++;
'<tr>
<td></td>
'.$jour1[$id].'
</tr>';
$id= $id++;
//Préparer le crénneau suivant
$hd += 01;
if ($hd == "24")
{
$hd= 0;
}
}
?>
</table>
</body>
</html>
Code : Tout sélectionner
$jour1[0]='<td rowspan"2">rock non sop</td>'
$jour1[1]=''
$jour1[2]='<td rowspan"3">$emission1</td>'
$jour1[4]=''
$jour1[4]=''
$jour1[5]='<td rowspan"1">rock non stop</td>'
Code : Tout sélectionner
[php]
<html>
<head>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<? include("conf/conf.php");
$start= 10800; // start= 3h
$id= 0;
$requete= "SELECT TIME_TO_SEC(debut) AS secdebut, TIME_TO_SEC(fin) AS secfin, emission FROM Emissions WHERE jour LIKE '____1__'"; // test sur le vendredi DLMMJVS et metre un un sur le jour
$resultat = mysql_query($requete,$connexion);
while ($row=mysql_fetch_assoc($resultat))
{
$secdebut= $row[secdebut];
$secfin= $row[secfin];
$emission= $row[emission];
if ($start= "$secdebut") // une émission
{
$temps= $secfin - $secdebut; //calcule en secde du temps de l'émission
$bloc= $temps/1800; // division du temps en demi heure = le nombre de ligne fusioné
echo $id.' td rowspan='.$bloc.'>'.$emission.'</td <br>'; // la case de l'émission
$id++;
for ($boucle=$bloc; $boucle>1; $boucle--) // la boucle pour les colone vide du rowspan
{
echo $id.' <br>';
$id++;
}
$start = $secfin;
}
else // pas d'emission
{
$temps= $secdebut - $start; //calcule en secde du temps de l'émission
$bloc= $temps/1800; // division du temps en demi heure = le nombre de ligne fusioné
echo $id.' td rowspan='.$bloc.'>rock non stop</td <br>'; // la case de l'émission
$id++;
for ($boucle=$bloc; $boucle>1; $boucle--) // la boucle pour les colone vide du rowspan
{
echo $id.' <br>';
$id++;
}
$start = $secfin;
}
}
?>[/php]$jour1[$id]
Lignes 98 et 101, tu mets $id= $id++; Si c'est juste pour incrémenter $i, tu peux tout simplement mettre:
$i++;