Hi,
ich gehe eine For schleife so oft durch, wie es Tage in einem bestimmtem Monat gibt.
In der For schleife wird nun eine While Schleife durchlaufen, welche alle Datensätze die vorher mit einer queryabfrage abgerufen wurden, auf den Tag überprüft.
Ist der Tag eines Datensatzes gleich, so wird der Tag ausgegeben.
Jedoch wird die While Schleife nur EINMAL ausgeführt in der For Schleife.
Läuft die Forschleife ein zweites, drittes.... mal durch, so läuft die whileschleife aber nicht mehr !
Kann es sein, das der zeiger der Whileschleife noch auf dem letzten Datensatz liegt und somit die Bedingung der while schleife erfüllt ist und sie nicht nocheinmal durchläuft?
Der Code:
ich gehe eine For schleife so oft durch, wie es Tage in einem bestimmtem Monat gibt.
In der For schleife wird nun eine While Schleife durchlaufen, welche alle Datensätze die vorher mit einer queryabfrage abgerufen wurden, auf den Tag überprüft.
Ist der Tag eines Datensatzes gleich, so wird der Tag ausgegeben.
Jedoch wird die While Schleife nur EINMAL ausgeführt in der For Schleife.
Läuft die Forschleife ein zweites, drittes.... mal durch, so läuft die whileschleife aber nicht mehr !
Kann es sein, das der zeiger der Whileschleife noch auf dem letzten Datensatz liegt und somit die Bedingung der while schleife erfüllt ist und sie nicht nocheinmal durchläuft?
Der Code:
PHP-Code:
for ($i=1; $i<=date("t", mktime(0, 0, 0, $datum, date("d"), date("Y"))); $i++) //Jeder Tag im Monat 1 Durchlauf
{
$buffer = array();
while($row = mssql_fetch_object($mssqlresult)) //Die einzelnen Datensätze der ID xxx
{
if (substr($row->Z_Zeit,0,2) == $i) //Fortlaufende Tage mit $i
{
$buffer[1]++;
$buffer[2] = substr($row->Z_Zeit,0 ,10);
$buffer[4] = substr($row->Z_Zeit,-5);
if ($buffer[1] == 1) { $buffer[3] = substr($row->Z_Zeit,-5); }
}
}
echo '<tr>';
echo "<td width=40>$i</td>";
echo "<td width='180'>$buffer[2]</td>";
echo "<td>$buffer[3]</td>";
echo "<td>$buffer[4]</td>";
echo '<td> </td>';
echo '<td> </td>';
echo '<td> </td>';
echo '<td> </td>';
echo '</tr>';
}
Kommentar