par
castelli » 31 mai 2007, 19:33
Bonjour j'ai creer une classe pour afficher un tableau , mais la fonction afficher_tableau me provoque un probleme (boucle infinie) et me remplie pas le tableau comme nécéssaire
Warning: Invalid argument supplied for foreach() in c:\program files\easyphp1-8\www\auto-gestion\calendar.class.php on line 50
voici le script sur la page principale:
$selectinv = "Select * from heure_conduite WHERE Date >='$lundi2' and date <='$dimanche2' group by date";
$resultinv = mysql_query($selectinv,$link) or die ('Erreur 1: '.mysql_error() );
while ($voir = mysql_fetch_assoc($resultinv))
{
$date=$voir['date'];
$heure=$voir['heure'];
$evenement= $voir['identifiant'];
$calendar = new calendar();
$calendar->ajout_evenement ($date,$heure,$evenement);
$calendar->afficher_tableau ($lundi2);
et voici la fonction ajout evenement et afficher tableau
function ajout_evenement ($i,$h,$j)
{
if (isset ($t[$i]))
{
if (isset ($t[$i][$h]))
$t[$i][$h][]=$j;
else
$t[$i][$h]= array(0=>$j);
}
else
$t[$i]= array($h=>array(0=>$j));
}
function afficher_tableau($i) //i premier jour
{
echo "<table border=1 ><TR bgcolor='rgb(100,135,220)'>
<TH >Heure</TH>
<TH >Lundi</TH>
<TH >Mardi</TH>
<TH >Mercredi</TH>
<TH >Jeudi</TH>
<TH >Vendredi</TH>
<TH >Samedi</TH>
<TH >Dimanche</TH>
</TR> ";
for ($h = 8;$h <=18 ; $h++)
{
echo "<tr><td>$h</td><td>";
for ($i2=$i; $i2 <= $i+7 ;$i++)
{
if (isset ( $t[$i2]) && isset ( $t[$i2][$h]))
echo "<ol>";
$o=0;
foreach ($t[$i][$h] as $vt)
{
echo "<li>'$vt'" ;
$o++;
if ($o<3)
echo "<a href ='tata.php' >cliquez pour ajouter evenement</a>";
}
echo "</ol></td><tr>";
}
}
}
Si quelqun a une idée de la provenance de cette boucle infinis merci de me faire signe
ps: la ligne 50 est celle du foreach
Bonjour j'ai creer une classe pour afficher un tableau , mais la fonction afficher_tableau me provoque un probleme (boucle infinie) et me remplie pas le tableau comme nécéssaire
[quote]Warning: Invalid argument supplied for foreach() in c:\program files\easyphp1-8\www\auto-gestion\calendar.class.php on line 50[/quote]
voici le script sur la page principale:
[php]$selectinv = "Select * from heure_conduite WHERE Date >='$lundi2' and date <='$dimanche2' group by date";
$resultinv = mysql_query($selectinv,$link) or die ('Erreur 1: '.mysql_error() );
while ($voir = mysql_fetch_assoc($resultinv))
{
$date=$voir['date'];
$heure=$voir['heure'];
$evenement= $voir['identifiant'];
$calendar = new calendar();
$calendar->ajout_evenement ($date,$heure,$evenement);
$calendar->afficher_tableau ($lundi2);
[/php]
et voici la fonction ajout evenement et afficher tableau
[php]function ajout_evenement ($i,$h,$j)
{
if (isset ($t[$i]))
{
if (isset ($t[$i][$h]))
$t[$i][$h][]=$j;
else
$t[$i][$h]= array(0=>$j);
}
else
$t[$i]= array($h=>array(0=>$j));
}
function afficher_tableau($i) //i premier jour
{
echo "<table border=1 ><TR bgcolor='rgb(100,135,220)'>
<TH >Heure</TH>
<TH >Lundi</TH>
<TH >Mardi</TH>
<TH >Mercredi</TH>
<TH >Jeudi</TH>
<TH >Vendredi</TH>
<TH >Samedi</TH>
<TH >Dimanche</TH>
</TR> ";
for ($h = 8;$h <=18 ; $h++)
{
echo "<tr><td>$h</td><td>";
for ($i2=$i; $i2 <= $i+7 ;$i++)
{
if (isset ( $t[$i2]) && isset ( $t[$i2][$h]))
echo "<ol>";
$o=0;
foreach ($t[$i][$h] as $vt)
{
echo "<li>'$vt'" ;
$o++;
if ($o<3)
echo "<a href ='tata.php' >cliquez pour ajouter evenement</a>";
}
echo "</ol></td><tr>";
}
}
}[/php]
Si quelqun a une idée de la provenance de cette boucle infinis merci de me faire signe
ps: la ligne 50 est celle du foreach