| Erfahrener Benutzer
Registriert seit: 09.06.2005
Beiträge: 213
| Könntet Ihr mir weiter damit helfen?
ich habe 2 Zeiträume: (min_date, max_date und min_date1 und max_date2)
min_date=01.09.2005
max_date=31.10.2005
min_date2=01.11.2005
max_date2=30.11.05
Im Kalender sollten die Tagen und Monate die dazwischen liegen angezeigt werden.
Mit dem Skript unten werden nur die Tagen zwischen min_date und max_date dargestellt.
Wie mache ich es, dass ich auch gleichzeitig die anderen Zeiträume darstelle?
Irgendwie klappt es nur , wenn ich als if Abfrage schreibe: Code: elseif($tim >$max_date2){
print "<td>";
//print "<a href=\"javascript:window.opener.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\">$x</a>";
print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
//print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
print "window.document.location='#';closeiframe();\">20$x</a>";
print "</td>";
} Code: <?php
global $date1,$date2,$tim1,$tim2;
if (strpos($min_date,".")){
$dm_ = explode(".", $min_date);
$min_date = mktime(0, 0, 0, $dm_[1], $dm_[0], $dm_[2]);
}
if (strpos($min_date2,".")){
$dm_ = explode(".", $min_date2);
$min_date2 = mktime(0, 0, 0, $dm_[1], $dm_[0], $dm_[2]);
}
if (strpos($max_date,".")){
$dm_ = explode(".", $max_date);
$max_date = mktime(0, 0, 0, $dm_[1], $dm_[0], $dm_[2]);
}
if (strpos($max_date2,".")){
$dm_ = explode(".", $max_date2);
$max_date2 = mktime(0, 0, 0, $dm_[1], $dm_[0], $dm_[2]);
}
$now = mktime(0,0,0);
if($min_date<$now)$min_date=$now;
if (!$max_date)$max_date=$now+(60*60*24*330);
if (($date1)&&(!$monat)&&(!$jahr)){
$d1 = check_date_($date1);
if($d1){
$d1_ = explode(".", $d1);
$tim1 = mktime(0, 0, 0, $d1_[1], $d1_[0], $d1_[2]);
while ($tim1<$min_date){
$d1_[2]+=1;
$tim1 = mktime(0, 0, 0, $d1_[1], $d1_[0], $d1_[2]);
}
if (!$date2){
$day = $d1_[0];
$monat = $d1_[1];
$jahr = $d1_[2];
}
}
else $tim1=$now;
}
if (($date2)&&(!$monat)&&(!$jahr)){
$d2 = check_date_($date2);
if(!$d2)$d2=$d1;
if($d2){
$d2_ = explode(".", $d2);
$tim2 = mktime(0, 0, 0, $d2_[1], $d2_[0], $d2_[2]);
while ($tim2<$tim1){
$d2_[2]+=1;
$tim2 = mktime(0, 0, 0, $d2_[1], $d2_[0], $d2_[2]);
}
while ($tim2>$max_date ){
$d2_[2]-=1;
$tim2 = mktime(0, 0, 0, $d2_[1], $d2_[0], $d2_[2]);
}
$day = $d2_[0];
$monat = $d2_[1];
$jahr = $d2_[2];
}
}
settype ($monat, "integer");
if($monat==0)$monat=date("n");
if($jahr==0)$jahr=date("Y");
$mons_=" Januar Februar März April Mai Juni Juli August September Oktober November Dezember";
$mon_s=" Jan Feb Mär Apr Mai Jun Jul Aug Sep Okt Nov Dez";
$mons =explode(" ", $mons_);
$mon_short =explode(" ", $mon_s);
$lm=$monat-1;
$ly=$jahr;
if($lm<1){$lm=12;$ly--;}
$nm=$monat+1;
$ny=$jahr;
if($nm>12){$nm=1;$ny++;}
?>
Code: <?php
$day = date( "w", mktime(0, 0, 0, $monat, 1, $jahr));
if ($day==0)$day=7;
$day--;
// Print KW
$yday= strftime ("%V", mktime(0, 0, 0, $monat, (1-$day), $jahr));
#$date = getdate(mktime(0, 0, 0, $monat, (1-$day), $jahr));
#$yday = (($date['yday'])+7)/7;
settype ($yday, "integer");
print "<td>$yday</td>";
for ($x=0; $x<$day; $x++){ # leerstellen zum auffuellen
print "<td></td>";
}
$days_in_month = date( "t", mktime(0, 0, 0, $monat, 1, $jahr));
$liste=explode("\n", $eintrag);
for ($x=1; $x<=$days_in_month; $x++){
$tim = mktime(0, 0, 0, $monat, $x, $jahr);
$wd = date( "w", mktime(0, 0, 0, $monat, $x, $jahr));
# marken setzen
# if ($tim==$tim1){ # abflugtag
# print "<td align=\"right\"><font class='ab'>5$x</font></td>";
# }
# elseif ($tim==$tim2){ # ankunftstag
# print "<td align=\"right\"><font class='an'>$x</font></td>";
# }
if (((($x+$day)%7)==0)&&(($tim<$min_date)||($tim>$max_date))){ # sonntag in der vergangenheit oder zukunft
print "<td class=\"txtMark\">6$x</td>";
}
elseif (((($x+$day)%7)==0)&&(stristr($ns,$wd))){ # nicht erlaubte sonntage
print "<td class=\"txtMark\">7$x</td>";
}
elseif (stristr($ns,$wd)){ # nicht erlaubte wochentage
print "<td>8$x</td>";
}
elseif ($tim< $min_date){ # vergangenheit
print "<td>9$x</td>";
}
elseif ($tim >$max_date){ # zukunft
print "<td>10$x</td>";
}
elseif($tim >$max_date2){
print "<td>";
//print "<a href=\"javascript:window.opener.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\">$x</a>";
print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
//print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
print "window.document.location='#';closeiframe();\">20$x</a>";
print "</td>";
}
# link setzen
elseif ($tim==$tim1){ # abflugtag
print "<td class=\"bgDarkGrey\">";
print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
//print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
//print "window.opener.document.$form.$element2.selectedIndex='".($monat-1)."';";
print "window.document.location='#';closeiframe();\">11$x</a>";
print "</td>";
}
elseif ($tim==$tim2){ # ankunftstag
print "<td class=\"bgDarkGrey\">";
//print "<a href=\"javascript:window.parent.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\"><font class='an'>$x</font></a>";
print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
//print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
print "window.document.location='#';closeiframe();\">12$x</a>";
print "</td>";
}
elseif ((($x+$day)%7)==0){ # sonntag
print "<td>";
//print "<a href=\"javascript:window.opener.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\"><font class='red'>$x</font></a>";
print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
//print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
print "window.document.location='#';closeiframe();\"><span class=\"txtMark\">13$x</span></a>";
print "</td>";
}
elseif ($tim==$now){ # heute
#print "<td align=\"right\"><font class='now'>$x</font></td>";
print "<td>";
//print "<a href=\"javascript:window.parent.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\"><font class='now'>$x</font></a>";
print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
//print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
print "window.document.location='#';closeiframe();\"><U>14$x</U></a>";
print "</td>";
}
elseif($tim < $max_date2){
#print "<td align=\"right\"><font class='now'>$x</font></td>";
print "<td>";
//print "<a href=\"javascript:window.parent.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\"><font class='now'>$x</font></a>";
print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
//print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
print "window.document.location='#';closeiframe();\"><U>14$x</U></a>";
print "</td>";
}
/* else {
print "<td>";
//print "<a href=\"javascript:window.opener.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\">$x</a>";
print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
//print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
print "window.document.location='#';closeiframe();\">15$x</a>";
print "</td>";
}
*/
if (((($x+$day)%7)==0)&&($x!=$days_in_month)){ # neue reihe mit kw am anfang
print "</tr><tr align=\"right\">";
// Print KW
$yday= strftime ("%V", mktime(0, 0, 0, $monat, ($x+1), $jahr));
#$date = getdate(mktime(0, 0, 0, $monat, ($x+1), $jahr));
#$yday = (($date['yday'])+7)/7;
settype ($yday, "integer");
print "<td>$yday</td>";
}
}
?>
ich würde für Eure Hilfe sehr dankbar sein,
Grüsse,
Seven-12 |