Petit nouveau ! |
7 Messages
10 mai 2012, 10:33
bonjour,
Sur base des indication recues, voici ce que j'ai commencé:
Ainsi donc, j'arrive à afficher mes dates, mes horaires et mes véhicules, et pour y arriver, voici le code utilisé:
Code : Tout sélectionner
<?php
include "../connect_base.php";
?>
<?php
//conversion des mois vers le français
$mois["January"] = "Janvier";
$mois["Febrary"] = "Février";
$mois["March"] = "Mars";
$mois["April"] = "Avril";
$mois["May"] = "Mai";
$mois["June"] = "Juin";
$mois["July"] = "Juillet";
$mois["August"] = "Août";
$mois["September"] = "Septembre";
$mois["October"] = "Octobre";
$mois["November"] = "Novembre";
$mois["December"] = "Décembre";
function getMois($month){
return $mois[$month];
}
$month = Date("F");
getMois($month);
//on commences ton tableau :
echo '<caption><h2><color=red>Planning voiture '.$mois[$month].' '.Date("Y").'</color></h></caption>';
echo '<TABLE border="1" align="center" class="tableau">';
// on débutes la ligne head
echo '<thead><tr>';
//1ère cellule
echo '<th bgcolor=\"#FFCC33\">Dates</th>';
//on crée la ligne des dates
$start = new DateTime("now"); // 'now' n'est pas nécéssaire, c'est la valeur par défaut
$end= new DateTime("now+30 day"); // 'on ajoute 30 jours à la date courante pour un affichage qui couvrira depuis aujourd'huy jusqu'à 30 jours plus tard..
foreach (new DatePeriod($start,new DateInterval('P1D')/*pas de 1 jour*/ , $end)as $dt){
echo '<th bgcolor=\"#FFCC33\" colspan="12" >' ;
echo $dt->format('D-d/m/y');
echo'</th>';
}
// on fermes le head
echo '</tr></thead>';
// on crées les lignes des horaires
echo '<tbody><tr>';
echo '<td bgcolor=\"fffcd9\">Liste_des_vehicules</td>'; // dans la première cellule on indique que la colonne en dessous sera la liste des voitures
for($i = 1; $i<31; $i++)
{
echo '<td bgcolor=\"#CCFFFF\">07h00</td><td bgcolor=\"#FF99FF\">08h00</td><td bgcolor=\"#CCFFFF\">09h00</td><td bgcolor=\"#FF99FF\">10h00</td><td bgcolor=\"#CCFFFF\">11h00</td><td bgcolor=\"#FF99FF\">12h00</td><td bgcolor=\"#CCFFFF\">13h00</td><td bgcolor=\"#FF99FF\">14h00</td><td bgcolor=\"#CCFFFF\">15h00</td><td bgcolor=\"#FF99FF\">16h00</td><td bgcolor=\"#CCFFFF\">17h00</td><td bgcolor=\"#FF99FF\">18h00</td>';
}
echo '</tr>';
// ensuite on crée les lignes du tableau en faisant un requête pour aller chercher les voitures et leurs réservations en base
$req="select immatriculationvehicule from vehicule ORDER BY immatriculationvehicule";
$resultat=mysql_query($req) or die(mysql_error());
while ($row=mysql_fetch_row($resultat))
{
echo "<tr>";
echo "<td bgcolor=\"#FFFF99\"align=\"center\" >$row[0]</td>";
}
//etc...on récupères toutes les infos à afficher
$requete='select idmission, identifiant, immatriculationvehicule, objectifmission, datereservation, datefinreservation, heuredepart, heurearrivee
from mission m, individu i, vehicule v
where m.idindividu=i.idindividu and v.idvehicule=m.idvehicule ORDER BY datereservation, immatriculationvehicule ';
$mission=mysql_query($requete) or die(mysql_error());
//on colore dans le corps du tableau les cellules correspondant aux dates et heures auquels sont réservés les véhicules...
echo '<tr>';
echo '</tr>';*/
// on fermes le tableau
echo '</tbody>';
echo '</table>';
?>
J'en suis donc arrivé au point où il faut insèrrer les réservations effectuées en colorant les cellules qui correspondent au heures prises en fonction des dates.
A ce propos, dans ma table appelée "mission", les dates de départ et d'arrivées sont en fait de simples INT
Et c'est là que je me noie !
Dès lors, deux questions:
- 1° Ai-je la bonne approche ?
- 2° Comment faire pour afficher ces réservations ?
Merci d'avance pour votre aide,