1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
| <?php
include('traitements.php'); //L'instruction de langage include() inclut et exécute le fichier spécifié en argument, en l'occurence ici la page traitements.php
css(); // Appel de la fonction css
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//Affichage du jour de la date correspondante
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
echo "Date du jour : ";
$today = date("N"); // date("N") retourne un numéro de 1 à 7 pour Lundi à Dimanche
switch($today) //Le Switch permet d'avoir une écriture simplifiée, nettement plus lisibile qu'une pile de if then else.
{
case 1:
echo "Lundi ";
break;
case 2:
echo "Mardi ";
break;
case 3:
echo "Mercredi ";
break;
case 4:
echo "Jeudi ";
break;
case 5:
echo "Vendredi ";
break;
case 6:
echo "Samedi ";
break;
case 7:
echo "Dimanche ";
break;
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Affichage de la date
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
echo $aujourdhui = date("d/m/Y"); // date() est la fonction date qui permet de récupérer la date du jour : d est le numéro du jour dans le mois, m est le numéro du mois dans l'année, et y est l'année.
echo "<br>";
echo "<br>";
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Début
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// $tab1 sera un tableau dont les indices (0 à 23 ici) représenterons l'état.
//$tab1 = array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); //Warning: Cannot use a scalar value as an array in C:\wamp\www\Calendrier\calendrieroriginal.php on line 67
//La fonction array() permet de créer des tableaux dynamiques qui seront exploités par les scripts PHP à la différence d'une table mySQL, l'array est temporaire et ne reste généré que le temps du déroulement du script.
$tab1 = array();
// Lecture première requête et mise à jour ...
$sql= "SELECT jos_etat.img, jos_horaires.heure, jos_horaires.id_etat_horaire, jos_horaires.jour
FROM jos_horaires LEFT JOIN jos_etat
ON jos_horaires.id_etat_horaire=jos_etat.id_etat
ORDER BY jos_horaires.heure ASC";
$req = mysql_query($sql) or die(mysql_error());
while ($val = mysql_fetch_assoc($req)) //mysql_fetch_assoc Lit une ligne de résultat MySQL dans un tableau associatif
{
$tab1[$val['jour']][$val['heure']] = $val['img'];
}
// En sortie de cette requête nous avons la mise à jour des états pour chaque indice de 0 à 23
//il faut récupérer le numéro du jour, heure et etat.img pour tous les évènements dont la date est comprise entre le moment présent et le moment présent + 6 jours.
//il faut donc d'abord récupérer la date présente et la date finale.
$j=30;
$today=date('Y-m-d');
$lastday=date(strtotime('+' . $j . ' day')); //strtotime Transforme un texte anglais en timestamp
//strtotime() essaye de lire une date au format anglais US dans la chaîne time , et de la transformer en timestamp Unix (le nombre de secondes depuis le 1er Janvier 1970 à 00:00:00 UTC),
//relativement au timestamp now , ou à la date courante si ce dernier est omis.
// Lecture deuxième requête et mise à jour si il y a des valeurs différentes
$sql="SELECT jos_evenements.heure, jos_evenements.date_evenement, jos_etat.img
FROM jos_evenements LEFT JOIN jos_etat
ON jos_evenements.id_etat_evenement=jos_etat.id_etat
WHERE jos_evenements.date_evenement >= Now()
and TO_DAYS(jos_evenements.date_evenement) <= TO_DAYS(Now())+29;";
$req = mysql_query($sql) or die(mysql_error());
while ($val = mysql_fetch_assoc($req))
{
// A remplacer par j
$jour=date('j', strtotime($val['date_evenement']));
$tab2[$jour][$val['heure']] = $val['img'];
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Affichage du tableau final
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
echo '<table border="1" cellspacing="0">';
echo '<tr>';
echo '<td><b>Date/Heure</b></td>';
for ($i = 0; $i <= 23; $i++)
{
echo '<td><b>'.$i.'H</b></td>';
}
echo '</tr>';
// fonction qui retourne 7 dates après celle d'aujourd'hui
for ($j = 0; $j < 30; $j++)
{
$jsemaine = date('d/m/Y', strtotime('+' . $j . ' day'));
$jsemaine_chiffre = date('N', strtotime('+' . $j . ' day'));
$jjour_chiffre = date('j', strtotime('+' . $j . ' day'));
echo '<tr>';
echo '<td><b>'.$jsemaine.'</b></td>';
for ($i = 0; $i <= 23; $i++)
{
if ($tab2[$jjour_chiffre][$i]==null)
echo '<td><center><img src='.'IMG/'.$tab1[$jsemaine_chiffre][$i].'></center></td>';
else
echo '<td><center><img src='.'IMG/'.$tab2[$jjour_chiffre][$i].'></center></td>';
}
}
echo '</tr>';
echo '</table>';
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//affichage légende
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
echo '<br>';
echo '<table border="1" cellspacing="0"><tr>'; //début tableau
echo '<td><center><img src="IMG/rouge.png"></center></td><td>Fermée</td>';
echo '<td><center><img src="IMG/vert.png"></center></td><td>Libre</td>';
echo '<td><center><img src="IMG/jaune.png"></center></td><td>Sur réservation</td>';
echo '<td><center><img src="IMG/bleu.png"></center></td><td>Réservée</td>';
echo '</table>'; //fin tableau
?> |
Partager