Hallo ich bin hier neu und hoffe ihr könnt mir helfen. die SuFu brachte leider keine Lösung zu tage.
Nunja ich habe folgendes Problem:
hier mal mein Code:
Nun zu meinem Problem, die Abfrage funktioniert soweit.
Jedoch wie in dem Script zu sehen springt er automatisch wenn die $kw == $ausgabe[6] FALSE ergibt, in die else abfrage und lässt den einen Datensatz komplett aus.
ein Beispiel:
Datenbank schichtplan
DSZ = Datensatzzeiger
DZ = Datensatz
KW = Kalenderwoche
DSZ 0 | DZ 1 | KW 47
DSZ 1 | DZ 2 | KW 47
DSZ 2 | DZ 3 | KW 47
DSZ 3 | DZ 4 | KW 47
----------------------------------
bis hierhin funktioniert alles
jedoch ab KW 48 gibt meine IF Abfrage ja FALSE aus und lässt DSZ 4 bzw DZ 5 komplett aus und macht dann, da ich $kw um 1 erhöht habe ja bei DZS 5 und DZ6 weiter.
DSZ 4 | DZ 5 | KW 48
DSZ 5 | DZ 6 | KW 48
DSZ 6 | DZ 7 | KW 48
DSZ 7 | DZ 8 | KW 48
Nun wollte ich ein script schreiben welches den DZS um diesen einen Datensatz verringert, jedoch beiss ich da immerwieder auf granit, entweder die Schleife wird 3455099x durchlaufen (was echt sehr lang dauert) oder ich bekomme einen Fehler.
ich habe auch schon versucht mit mysql_data_seek zu arbeiten, aber genau das is mein problem:
Weiss jemand von euch vielleicht ein Script wie ich das realiseren kann?
Ich hoffe das ihr mir helfen könnt.
mfg
mysilent
Nunja ich habe folgendes Problem:
hier mal mein Code:
PHP-Code:
$query = "SELECT * FROM schichtplan WHERE Tag >= CURDATE() ORDER BY Tag ASC, KW DESC";
$result = mysql_query($query);
$kwtest = 47;
$datensatz = 0;
$schleifendurchlauf = 0;
while ($ausgabe = mysql_fetch_array($result))
{
if($kwtest == $ausgabe[6])
{
setlocale(LC_TIME,"de_DE");
list($year,$month,$day) = explode('-',$ausgabe[1]);
$date = mktime(0,0,0,$month,$day,$year);
echo "<tr>
<td width='5'></td>
<td><font face='verdana' size='1px'>$ausgabe[6]</font></td>
<td><font face='verdana' size='1px'>$day.$month.$year "; echo strftime('%A',$date);
echo "</font></td>
<td><font face='verdana' size='1px'>$ausgabe[2]</font></td>
<td><font face='verdana' size='1px'>$ausgabe[3]</font></td>
<td><font face='verdana' size='1px'>$ausgabe[4]</font></td>
<td><font face='verdana' size='1px'>$ausgabe[5]</font></td>
</tr>";
$datensatz = $datensatz+1;
}
else
{
echo "<tr><td height='10'></td></tr>";
$kwtest=$kwtest + 1;
}
}
Jedoch wie in dem Script zu sehen springt er automatisch wenn die $kw == $ausgabe[6] FALSE ergibt, in die else abfrage und lässt den einen Datensatz komplett aus.
ein Beispiel:
Datenbank schichtplan
DSZ = Datensatzzeiger
DZ = Datensatz
KW = Kalenderwoche
DSZ 0 | DZ 1 | KW 47
DSZ 1 | DZ 2 | KW 47
DSZ 2 | DZ 3 | KW 47
DSZ 3 | DZ 4 | KW 47
----------------------------------
bis hierhin funktioniert alles
jedoch ab KW 48 gibt meine IF Abfrage ja FALSE aus und lässt DSZ 4 bzw DZ 5 komplett aus und macht dann, da ich $kw um 1 erhöht habe ja bei DZS 5 und DZ6 weiter.
DSZ 4 | DZ 5 | KW 48
DSZ 5 | DZ 6 | KW 48
DSZ 6 | DZ 7 | KW 48
DSZ 7 | DZ 8 | KW 48
Nun wollte ich ein script schreiben welches den DZS um diesen einen Datensatz verringert, jedoch beiss ich da immerwieder auf granit, entweder die Schleife wird 3455099x durchlaufen (was echt sehr lang dauert) oder ich bekomme einen Fehler.
ich habe auch schon versucht mit mysql_data_seek zu arbeiten, aber genau das is mein problem:
PHP-Code:
else
{
$datensatz = $datensatz-1;
echo "<tr><td height='10'></td></tr>";
$kwtest=$kwtest + 1;
mysql_data_seek($result,$datensatz)
}
Ich hoffe das ihr mir helfen könnt.
mfg
mysilent
Kommentar