• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kalender macht falsche angaben

Status
Für weitere Antworten geschlossen.

RaZ0oR

Neues Mitglied
Hi leudz,

ich habe versucht einen (Event)Kalender zu schreiben. Event in klammern, da wenn in einer Datenbank daten drinnen stehen, der tag dann grün markiert wird. Soweit klappt er auch ganz gut, mich würde aber mal interessieren wieso es beim 2.2.2007 Den tag als aktuellen Tag markiert.
Hier ist der Link vom 2.2, und hier ist der normale Kalender.

Und vielleicht könntet ihr mir auch einen tipp geben wie cih etwas einbauen kann, das der aktuelle tag angezeigt wird, also cih meine das so
Code:
Mo . Die . Mi . Do . Fr
31 . 1 ... 2 .. 3 ... 4
(die punkte habe ich nu gemacht, das die zahlen unter den tagen stehen)
Der Code vom kalender:
PHP:
<?
 if(!isset($_GET['monat'])) { $monat = date(n); } else { $monat = $_GET['monat']; }
 $mon = $monat;
 if(!isset($_GET['monat'])) { $mon2 = date(n); } else { $mon2 = $_GET['monat']; }
  switch($mon) {
   case "1":
    $mon = "Januar";
     break;
   case "2":
    $mon = "Februar";
     break;
   case "3":
    $mon = "März";
     break;
   case "4":
    $mon = "April";
     break;
   case "5":
    $mon = "Mai";
     break;
   case "6":
    $mon = "Juni";
     break;
   case "7":
    $mon = "Juli";
     break;
   case "8":
    $mon = "August";
     break;
   case "9":
    $mon = "September";
     break;
   case "10":
    $mon = "Oktober";
     break;
   case "11":
    $mon = "November";
     break;
   case "12":
    $mon = "Dezember";
     break;
  }
  
  switch($mon2) {
   case "1":
    $anz1 = "31";
     break;
   case "2":
    if($_GET['jahr'] == "2008" or $_GET['jahr'] == "2012" or $_GET['jahr'] == "2016" or $_GET['jahr'] == "2020" or $_GET['jahr'] == "2024") { $anz1 = "29"; } else { $anz1 = "28"; }
     break;
   case "3":
    $anz1 = "31";
     break;
   case "4":
    $anz1 = "30";
     break;
   case "5":
    $anz1 = "31";
     break;
   case "6":
    $anz1 = "30";
     break;
   case "7":
    $anz1 = "31";
     break;
   case "8":
    $anz1 = "31";
     break;
   case "9":
    $anz1 = "30";
     break;
   case "10":
    $anz1 = "31";
     break;
   case "11":
    $anz1 = "30";
     break;
   case "12":
    $anz1 = "31";
     break;
  }
  
  
$anz = 7;
$anz2 = $anz1;
if(!isset($_GET['jahr'])) { $day = date(j.n.Y); } else { $day = date(j).$_GET['monat'].$_GET['jahr']; }
$day2 = date(n.Y);
$back = $mon2;
$vor = $mon2;
if(isset($_GET['jahr'])) { $Y = $_GET['jahr']; } else { $Y = date(Y); }
$sqlbefehl = $mon.$Y;
if(isset($_GET['jahr'])) { $jahr = $_GET['jahr']; } else { $jahr = date(Y); }

if(isset($_GET['jahr'])) { $jahrback = $_GET['jahr']; } else { $jahrback = date(Y); }
if(isset($_GET['jahr'])) { $jahrvor = $_GET['jahr']; } else { $jahrvor = date(Y); }

if($back == 1) { $jahrback = $jahrback - 1; } else { $jahrback = $jahrback;}
if($vor == 12) { $jahrvor = $jahrvor + 1; } else { $jahrvor = $jahrvor;}

if($back == 1) { $back = $back + 11; } else { $back = $back - 1; }
if($vor == 12) { $vor = $vor - 11; } else { $vor = $vor + 1; }
mysql_connect("","","");
  mysql_select_db("");
?>
<table width="245" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td><table width="245" border="0">
      <tr>
        <td width="48"><div align="center"> <a href="index.php?monat=<?php print($back); ?>&jahr=<?php print($jahrback); ?>"> < </a> </div></td>
        <td width="135"><div align="center"><?php print($mon." ".$jahr);
 ?></div></td>
        <td width="48"><div align="center">
          <div align="center"> <a href="index.php?monat=<?php print($vor); ?>&amp;jahr=<?php print($jahrvor); ?>"> > </a> </div>
        </div></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td>
      <div align="center">
  <?
echo "<table >\r\n"; 
echo "<tr>\r\n"; 
for($i = 1 ; $i <= $anz1 ; $i++){
   $i2 = $i.date(n.Y);
   
   $sql = "Select ID, $sqlbefehl FROM test WHERE ID = '$i' AND $sqlbefehl != ''";
    if($qry = mysql_query($sql)) {
   $erg = mysql_fetch_assoc($qry);
   }
  if($i == $erg['ID']) { $farbe = 'bgcolor="#00CC66"'; $link1 = '<a href="ausgabe.php?ID='.$i.'&id2='.$sqlbefehl.'" target="_blank">'; $link2 = "</a>"; } else {$farbe = ''; $link1 = ''; $link2 = ""; }
  if($i2 == $day) { $test2 = "style='border:1px double #990000'"; } else { $test2 = ""; }
    echo "<td width='20' valign='middle'$test2 $farbe><div align='center'> $link1 $i $link2 </div></td>\r\n";
 
    if((!($i % $anz)) && $i != $anz2) { 
        echo "</tr>\r\n<tr>\r\n"; 
 
    } 
 
} 
echo "<tr>\r\n"; 
echo "<table>\r\n";
?>
  &nbsp;</div></td>
  </tr>
</table>
 
Wer soll denn da durchlicken? :roll:


Du hast es dir viel zu umstaendlich gemacht, nichtmal die Date-Funktion hast du dir ordentlich angeschaut...


Wenn du willst, dann kann ich dir einen ordentlichen Kalender geben, aber du muesstest 2 Wochen warten ;)
 
Gut, da habt ihr wohl recht, das wird keiner checkn, thx für dein angebot, ich probiere es lieber erst noch mal selber, und wen ich es nicht schaffe komme ich auf dich zurück thx
 
den hab ich schon mal in nem anderen thread gepostet bezüglich des Problems, dass er nur von 1970 bis 2037 Funktioniert (wegen der Unix-Zeitepoche)
Aber vielleicht schaust du dir hier einfach was ab
Kalender
Neverending December 2007
Der Code dazu:
Neverending <?php echo date("F Y",mktime(0,0,0,$month,1,$year)); ?>

Im Grunde genommen bruachst du nur die Funktion (am Anfang des Dokumentes) und dann musst du es halt deinen Wünschen entsprechend anpassen.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben