Quellcode
- <html><body>
- <?
- // stichtage als Unixtime erzeugen
- //stunde, minute, sekunde, monat, tag, jahr
- $newDate = array(mktime(14,0,0, 5, 22, 2005),mktime(14,0,0,3,6,2005));
- //200503201400,200504031400,200504241400,200505081400,200505221400,
- //200505291400,200506121400,200506191400,200507031400,200507101400,200507241400,200507311400,
- //200508211400,200509041400,200509111400,200509251400,200510091400,200510161400,200603041400
- // aktuelle Zeit im Unixformat erzeugen
- $actDate = time();
- // Differenz berechnen (in Sekunden)
- $gpdauer=5400;
- $dauergp=$actDate-$gpdauer;
- $actDate++;
- $b=0;
- //welcher GP kommt als nächster?
- for($a=0;$a>=0;$a++){
- //Ist der GP später als das aktuelle Datum?
- if($newDate[$a]>$actDate){
- $diffDate = $newDate - $actDate;
- // Anzahl Tage = Sekunden /24/60/60
- // floor() liefert nur den Anteil vor dem Komma
- $days = floor($diffDate / 24 / 60 / 60 );
- // den verbleibenden Rest berechnen = Stunden
- $diffDate = $diffDate - ($days*24*60*60);
- // den Stundenanteil herausrechnen
- $hours = floor($diffDate / 60 / 60);
- $diffDate = ($diffDate - ($hours*60*60));
- // den Minutenanteil
- $minutes = floor($diffDate/60);
- $diffDate = $diffDate - ($minutes*60);
- // die verbleibenden Sekunden
- $seconds = floor($diffDate);
- //Schleife beenden
- $a=-3;
- }
- //Wenn nicht, ist er nur einenhalb Stunden jünger?
- else{
- if($newDate[$a]>$dauergp){
- $ausgabe="Im Moment findet ein Grandprix statt";
- $b=1;
- //Schleife beenden
- $a=-3;
- }
- }
- //Sicherung
- if($a>5000){
- $a=-3;
- }
- }
- if($b>0){
- echo "<table style=\"border: 2px solid rgb(0, 0, 0);\" border=\"0\" width=\"100%\" cellspacing=\"0\"><tr><td style=\"border-bottom: 1px solid rgb(0, 0, 0);\" bgcolor=\"#C58D56\"><p align=\"center\"><b>Nächster Grand Prix in:</b></td></tr><tr><td><p align=\"center\">";
- echo $ausgabe;
- echo'</td></tr></table>';
- }
- else{
- // und das ganze dann Anzeigen:
- if($ausgabe!="")
- echo "<table style=\"border: 2px solid rgb(0, 0, 0);\" border=\"0\" width=\"100%\" cellspacing=\"0\"><tr><td style=\"border-bottom: 1px solid rgb(0, 0, 0);\" bgcolor=\"#C58D56\"><p align=\"center\"><b>Nächster Grand Prix in:</b></td></tr><tr><td><p align=\"center\">";
- echo $days;
- echo' Tag';
- if($days>1){echo'e';
- }
- echo', ';
- echo $hours;
- echo' Stunde';
- if($hours>1){
- echo'n';
- }
- echo'<br>und ';
- echo $minutes;
- echo' Minute';
- if($minutes>1){
- echo'n';
- }
- echo'</td></tr></table>';
- }
- ?>
- </body></html>
das script soll die termine aus $newDate mit dam aktuellen datum vergleichen und herausfinden, welcher GP als nächster kommt und wie lang das noch dauert...
das else innerhalb der for is nur für den fall, dass ein GP gerade läuft
jetzt bekomme ich für die zeile $diffDate = $newDate - $actDate;
einen fehler...
woran kann das liegen?