Moin James,
Die Ausgabe sollte lauten " Nächster Austecktermin: 19.08.2004".
Doch das einzige was ich zurückbekomme is "Ausgesteckt bis: 11.06.2005Nächster Ausstecktermin: 08.07.2005".
Kein Wunder, das geben ja auch die Schleifen unten aus.
Ich such schon die ganze Zeit nach Fehlern, aber bin leider noch Anfänger.
!? Script vielleicht ändern? ...
$stamp= mktime(0,0,0,$mon, $tag, $jahr);
Richtige Argumentsanordnung?
$von[0]= formatDateTs(13,11,2003);
$von[1]= formatDateTs(8,1,2004);
$von[2]= formatDateTs(12,2,2004);
$von[3]= formatDateTs(18,3,2004);
...
weitaus einfacher wäre z.B. folgendes:
$von = array(
"13.11.2003",
"08.01.2004",
....);
usw., und das dann mit strtotime() in einen Timestamp verwandeln.
$time=time();
...
$anzahl = count($von);
$i = 0;
while($i < $anzahl){
if($time >= $von[$i] && $time <= $bis[$i]){
echo("Ausgesteckt bis: " . formatDate($bis[$i]));
break;
};
^ <- syntax fehler. ";" gehört da nicht hin.
$i++;
};
^ <- syntax fehler. s.o.. Welche PHP-Version benutzt du!??
Generell einfacher wäre hier übrigens eine for-schleife:
for($i=0;$i < count($von);$i++)
{
if($time >= $von[$i] && $time <= $bis[$i])
{
echo 'Ausgesteckt bis: '.formatDate($bis[$i]);
break;
}
}
evv. ließe es sich auch mit einer Foreach-Schleife noch einfacher machen.
while($i < $anzahl){
if($time > $bis[$i] && $time < $von[$i+1]){
echo("Nächster Ausstecktermin: " . formatDate($von[$i+1]));
break;
};
$i++;
};
Syntaxfehler s.o.. Warum gehst du das eigentlich 2mal durch? Es würde - wenn ich das jetzt richtig sehe - auch in einem durchlauf gehen. Bräuchtest halt ein paar "break-ersetzt"-Variabelchen (wie soll man das beschreiben...) ;o)
Gruß,
Sven
TERMine: * 28.07.2004 - max. 30.08.2004 ** potentielle Abwesenheitsgefahr
* 04.08.2004 ** Namenstage für die "Sven"'s im Forum (scnr)
MAIL@me: Die Abwesenheitsmail: mailto:sommerferien04.20.wauwau@spamgourmet.org
SELFcode: ie:% fl:| br:^ va:{ ls:& fo:) rl:( n4:( ss:) de:> js:| ch:° mo:} zu:}