mon code est structuré de la sorte:
while (unjour <= au dernier jour)
{
je construit un tableau html que je remplis a partir d 'un tableau php
while ( donnee= mysql fetch array...)
{
if (une date affichée en dur est = à une date recup
je recupere les données en fonction de la date clé primaire
}
while donnee2=mysql fetch array
{
je fais une liste de choix qui va dans une cellule du tableau
}
//je repete n fois le nombre de colonnes avec differentes requetes et donc differentes liste de choix
//je repete n fois le nbre de jour
}
mon probleme j ai bien les combobox avec des données dedans mais la valeur de de base de chaque liste de choix est censée etre la valeure presente dans la base de donnée quand il y en a une. je n y arrive pas a cause des while et des fetch array que je n arrive clairement pas a passer pour recup la valeur quand j en ai besoin quelque soit l endroitedit je sent que c est pas clair donc meme si c est interdit je vais mettre mon code meme s il il fait beaucoup de ligne.
<?php
include ('fonction.php');
connection();
basededonneesplanning();
function getPublicHoliday($year, $month, $day, $departement = false) {
$array = array();
for ($i = 1; $i < 13; ++$i) {
$indice = ($i < 10) ? '0'.$i : $i;
$array["$indice"] = array();
}
// National public holidays
$array['01']['01'] = 'Jour de l\'an';
$array['05']['01'] = 'Fête du travail';
$array['05']['08'] = 'Armistice 39-45';
$array['07']['14'] = 'Fête nationale';
$array['08']['15'] = 'Assomption';
$array['11']['01'] = 'Toussaint';
$array['11']['11'] = 'Armistice 14-18';
$array['12']['25'] = 'Noël';
$timestamp = mktime(0, 0, 0, 03, 21 + easter_days($year) + 1, $year);
$array[date('m', $timestamp)][date('d', $timestamp)] = 'Lundi de Pâques';
$timestamp = mktime(0, 0, 0, 03, 21 + easter_days($year) + 39, $year);
$array[date('m', $timestamp)][date('d', $timestamp)] = 'Jeudi de l\'ascension';
$timestamp = mktime(0, 0, 0, 03, 21 + easter_days($year) + 50, $year);
$array[date('m', $timestamp)][date('d', $timestamp)] = 'Lundi de Pentecôte';
// Spécial Public holidays
if ($departement && ($departement == '57' || $departement == '67' || $departement == '68')) {
$timestamp = mktime(0, 0, 0, 03, 21 + easter_days($year) - 2, $year);
$array[date('m', $timestamp)][date('d', $timestamp)] = 'Vendredi saint';
$array['12']['26'] = 'Lendemain de Noël';
}
if ($departement && $departement == '971')
$array['05']['27'] = 'Abolition de l\'esclavage';
if ($departement && $departement == '972')
$array['05']['22'] = 'Abolition de l\'esclavage';
if ($departement && $departement == '973')
$array['06']['10'] = 'Abolition de l\'esclavage';
if ($departement && $departement == '974')
$array['12']['20'] = 'Abolition de l\'esclavage';
// Check if the date is a public holiday
$monthToPrint = ($month < 10) ? '0'.$month : $month;
$dayToPrint = ($day < 10) ? '0'.$day : $day;
if (isset($array["$monthToPrint"]) && isset($array["$monthToPrint"]["$dayToPrint"]))
return $array["$monthToPrint"]["$dayToPrint"];
return false;
}
?>
<style type="text/css">
div.tableContainer {
<!--width: 65%; /* table width will be 99% of this*/
height: 295px; /* must be greater than tbody*/-->
overflow: auto;
margin: 0 auto;
}
table {
width: 99%; /*100% of container produces horiz. scroll in Mozilla*/
border: none;
background-color: #f7f7f7;
}
table>tbody { /* child selector syntax which IE6 and older do not support*/
overflow: auto;
height: 765px;
overflow-x: hidden;
}
thead tr {
position:relative;
top: expression(offsetParent.scrollTop); /*IE5+ only*/
}
thead td, thead th {
text-align: center;
font-size: 14px;
background-color: oldlace;
color: steelblue;
font-weight: bold;
border-top: solid 1px #d8d8d8;
}
td {
<!--color: #000;-->
padding-right: 2px;
font-size: 12px;
text-align: center;
td:last-child {padding-right: 20px;} /*prevent Mozilla scrollbar from hiding cell content*/
</style>
<style type="text/css" media="print">
div.tableContainer {overflow: visible; }
table>tbody {overflow: visible; }
td {height: 14pt;} /*adds control for test purposes*/
thead td {font-size: 11pt; }
thead {display: table-header-group; }
thead th, thead td {position: static; }
thead tr {position: static; } /*prevent problem if print after scrolling table*/
</style>
<div id="container">
<div class="tableContainer">
<!---->
<table border align="center" rules="cols" frame="border">
<thead class="fixedHeader">
<tr>
<th>date</th>
<th>infos générales</th>
<th>module</th>
<th>theme</th>
<th>formateur1</th>
<th>formateur2</th>
<th>formateur3</th>
<th>salle</th>
</tr>
</thead>
<tbody>
<?
$requete = mysql_query("SELECT DateDebutFormation,DateFinFormation FROM FORMATION where NumeroFormation=7")or die ('Erreur SQL : '.mysql_error());
$requete2=mysql_query("SELECT DesignationModule FROM module ")or die ('Erreur SQL : '.mysql_error());
$requete3=mysql_query("SELECT DesignationTheme FROM theme ")or die ('Erreur SQL : '.mysql_error());
$requete4a=mysql_query("SELECT NomFormateur FROM formateur ")or die ('Erreur SQL : '.mysql_error());
$requete4b=mysql_query("SELECT NomFormateur FROM formateur ")or die ('Erreur SQL : '.mysql_error());
$requete4c=mysql_query("SELECT NomFormateur FROM formateur ")or die ('Erreur SQL : '.mysql_error());
$requete5=mysql_query("SELECT DesignationSalle FROM salle ")or die ('Erreur SQL : '.mysql_error());
$requete6=mysql_query("SELECT * FROM cours ")or die ('Erreur SQL : '.mysql_error());
while($donnee=mysql_fetch_row($requete))
{
$datefinale=$donnee[1];
$datededebut=$donnee[0];
}
$datefinale=explode('-',$datefinale);
$datefinale=mktime ( 0, 0, 0, $datefinale[1], $datefinale[2], $datefinale[0]);
$datededebut=explode('-',$datededebut);
$datededebut=mktime ( 0, 0, 0, $datededebut[1], $datededebut[2], $datededebut[0]);
$nextday=$datededebut;
$demij="matin";
$i=0;
while ($nextday <= $datefinale)//affichage de tous les jours de la semaine sauf samedi et dimanche
{
if (date('l',$nextday)!=='Saturday' and date('l',$nextday)!=='Sunday')
{
$annees=intval(date("Y",$nextday));
$mois=intval(date("m",$nextday));
$jour=intval(date("d",$nextday));
if (getPublicHoliday($annees,$mois,$jour))//censé ne pas afficher férié quand il y en a un
{
$nextday=$nextday+(24 * 60 * 60);
}
else
{
echo "<tr><td>";
if (date ('l',$nextday) =="Monday")
$jj= "lundi";
if (date ('l',$nextday) =="Tuesday")
$jj="mardi";
if (date ('l',$nextday) =="Wednesday")
$jj= "mercredi";
if (date ('l',$nextday) =="Thursday")
$jj= "jeudi";
if (date ('l',$nextday) =="Friday")
$jj= "vendredi";
echo $jj. date(' d/m/Y',$nextday).$demij;echo "</td>";
$datec=date(' Y-m-d',$nextday);
if ($demij== "matin")
{
$heurec=8;
}
else
{
$heurec=14;
}
while ($donnee = mysql_fetch_array($requete6) )
{
// echo $donnee[0];echo"<br>"; echo $datec;echo"<br>"; echo $donnee[1];echo"<br>"; echo $heurec;echo"<br>";
if (settype($donnee[0],"string")==settype($datec,"string") and $donnee[1]==$heurec)
{
echo "ici";
echo"<br>";
// a faire poour demain recup les noms ou designations a partir de ces numeros
$valforma=$donnee[2];
$valsal=$donnee[3];
$requete7 = mysql_query("SELECT DesignationSalle FROM salle where NumeroSalle=".$valsal."")or die ('ytf');// ('Erreur SQL : '.mysql_error());
while($d7=mysql_fetch_row($requete7))
{
$valsal=$d7[0];
}
$valmod=$donnee[4];
$requete8 = mysql_query("SELECT DesignationModule FROM module where NumeroModule=".$valmod."")or die ('ytf');// ('Erreur SQL : '.mysql_error());
while($d8=mysql_fetch_row($requete8))
{
$valmod=$d8[0];
}
$valthe=$donnee[5];
$requete9 = mysql_query("SELECT DesignationTheme FROM theme where NumeroTheme=".$valthe."")or die ('ytf');// ('Erreur SQL : '.mysql_error());
while($d9=mysql_fetch_row($requete9))
{
$valthe=$d9[0];
}
$valform1=$donnee[6];
$requete10 = mysql_query("SELECT NomFormateur FROM formateur where NumeroFormateur=".$valform1.";")or die ('ytf');// ('Erreur SQL : '.mysql_error());
while($d10=mysql_fetch_row($requete10))
{
$valform1=$d10[0];
}
if (isset($donnee[7]))
{
$valform2=$donnee[7];
$requete11 = mysql_query("SELECT NomFormateur FROM formateur where NumeroFormateur=".$valform2.";")or die ('Erreur SQL : '.mysql_error());
while($d11=mysql_fetch_row($requete11))
{
$valform2=$d11[0];
}
}
else
{
$valform2="";
}
if(isset($donnee[8]))
{
$valform3=$donnee[8];
$requete12 = mysql_query("SELECT NomFormateur FROM formateur where NumeroFormateur=".$valform3."")or die ('ytf');// ('Erreur SQL : '.mysql_error());
while($d12=mysql_fetch_row($requete12))
{
$valform3=$d12[0];
}
}
else
{
$valform3="";
}
}
else
{
echo "là";
echo"<br>";
$valforma="";
$valsal="";
$valmod="";
$valthe="";
$valform1="";
$valform2="";
$valform3="";
}
echo $valsal;
echo" ";
echo $valmod;
echo" ";
echo $valthe;
echo" ";
echo $valform1;
echo" ";
echo $valform2;
echo" ";
echo $valform3;
}
echo "<input type='hidden' name='index".$i."' value=".$datec.">";
echo"<input type='hidden' name='index1".$i."' value=".$heurec.">";
echo "<td></td><td>";
echo'<select name="module'.$i.'">';
echo"<option value=".$valmod.">".$valmod."</option>";
mysql_data_seek($requete2,0);
while ($aff2 = mysql_fetch_array($requete2) )
{
echo "<option value=".$aff2['DesignationModule']."> ".$aff2['DesignationModule']." </option>";
}
echo"</select>";
echo "</td><td>";
echo'<select name="theme'.$i.'">';
echo "<option value=".$valthe.">".$valthe."</option>";
mysql_data_seek($requete3,0);
while ($aff3 = mysql_fetch_array($requete3) )
{
echo "<option value=".$aff3['DesignationTheme']."> ".$aff3['DesignationTheme']." </option>";
}
echo"</select>";
echo "</td><td>";
echo'<select name="f1'.$i.'">';
echo "<option value=".$valform1.">".$valform1."</option>";
mysql_data_seek($requete4a,0);
while ($affa = mysql_fetch_array($requete4a) )
{
echo "<option value=".$affa['NomFormateur']."> ".$affa['NomFormateur']." </option>";
}
echo"</select>";
echo "</td><td>";
echo'<select name="f2'.$i.'">';
echo "<option value=".$valform2.">".$valform2."</option>";
mysql_data_seek($requete4b,0);
while ($affb = mysql_fetch_array($requete4b) )
{
echo "<option value=".$affb['NomFormateur']."> ".$affb['NomFormateur']." </option>";
}
echo"</select>";
echo"</td><td>";
echo'<select name="f3'.$i.'">';
echo "<option value=".$valform3.">".$valform3."</option>";
mysql_data_seek($requete4c,0);
while ($affc = mysql_fetch_array($requete4c) )
{
echo "<option value=".$affc['NomFormateur']."> ".$affc['NomFormateur']." </option>";
}
echo"</select>";
echo"</td><td>";
echo'<select name="salle'.$i.'">';
echo "<option value=".$valsal.">".$valsal."</option>";
mysql_data_seek($requete5,0);
while ($aff5 = mysql_fetch_array($requete5) )
{
echo "<option value=".$aff5['DesignationSalle']."> ".$aff5['DesignationSalle']." </option>";
}
echo"</select>";
echo"</td></tr>";
echo"</td>";
$i=$i+1;
if($demij =="matin")
{
$demij="après midi";
}
else
{
$nextday=$nextday+(24 * 60 * 60);
$demij ="matin";
}
}
}
if (date('l',$nextday)=='Saturday' or date('l',$nextday)=='Sunday')
{
$nextday=$nextday+(24 * 60 * 60);
}
}
?>
</tbody>
</table>