kalender

Ezri

Grünschnabel
ich hab da ein problem mit meinem kalender.
ich will einen monat aussuchen und diesen anzeigen lassen. das gleiche mit den jahr.
aber irgendwie funktioniert das nicht.
PHP:
 <?
  if (isset($_GET['heuteMonat'])) {
    $heuteMonat = $_GET['heuteMonat'];
  }
  if (isset($_GET['heuteJahr'])) {
    $heuteJahr = $_GET['heuteJahr'];
  } 
  if (isset($_GET['tag'])) {
    $tag = $_GET['tag'];
  }
  if (!isset($heuteMonat) || !checkdate($heuteMonat,1,$heute))
  {
      $heute=getdate();
      $heuteMonat=$heute['mon'];
      $heuteJahr=$heute['year'];
  }
  //monatserster
  $start=mktime(0, 0, 0, $heuteMonat, 1, $heuteJahr, 0);
  $mon_arr=array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", 
                  "September", "Oktober", "November", "Dezember");
  $tage_arr=array("Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag");

echo "
    <form name='kalender' method='post' action='index.php?jahr=$jahr'>
    <table>
     <tr>
        <td colspan='8' class=auswahl>
          <select name='heuteMonat'>";
          for ($m=1; $m<=count($mon_arr); $m++)
          {
              echo "<option value='$m'"; 
              echo ($m==$heuteMonat)?" selected":""; 
              echo ">".$mon_arr[$m-1]."</option>";
          }
          echo "
          </select>
          <select name='heuteJahr'>";        
          for ($j=1995; $j<=2020; $j++)
          {
              echo "<option value='$j'"; 
              echo ($j==$heuteJahr)?" selected":""; 
              echo ">$j</option>";
          }
          
          echo "
          </select>
          <input type='submit' name='show' value='anzeigen'>
        </td>
    </tr>
    <tr>";
        echo "
        <th >Woche</th>";
        foreach ($tage_arr as $w_tag) {
            echo "<th>$w_tag</th>";}
            
        for ($z=0; $z<(6*7); $z++)
        {
          $akt_dat=getdate($start);
          if (($z % 7) == 0)
          {
            if ($akt_dat['mon']!=$heuteMonat)
            { break;}
            else {
              $woche=date("W", $start);
              echo "
    </tr>
    <tr>
    <td class=woche><a href=\"week.php?jahr=$heuteJahr&monat=$akt_dat[mon]&woche=$woche&tag=$akt_dat[mday]\">"; 
           echo ($woche<10)?"0".$woche:$woche; 
           echo "</a></td>";}
          }
          if ($akt_dat['wday']==0) {$akt_dat['wday']=7;}
          if ($z < $akt_dat['wday']-1 || $akt_dat['mon']!=$heuteMonat)
          {
    echo "<td></td>";
          }
          else
          {
            if ($akt_dat['wday']==6) {$style="style='text-align: center; color: red;'";}
            if ($akt_dat['wday']==7) {$style="style='text-align: center; color: red; font-weight: bold;'";}
            if ($akt_dat['wday']!=6 && $akt_dat['wday']!=7) {$style="style='text-align: center;'";}
            $today=getdate();
            if /*heutigen Tag hervorheben*/
            ($today['mday']==$akt_dat['mday'] && $today['mon']==$akt_dat['mon'] && 
              $today['year']==$akt_dat['year']) {$style="style='text-align: center; 
              background-color: #A0FF00; font-weight: bold; color: #003F00 ;'";}
            
            echo "<td ".$style."><a href='day.php?tag=$akt_dat[mday]&monat=$akt_dat[mon]&jahr=$heuteJahr'>"; 
            echo ($akt_dat['mday']<10)?"0".$akt_dat['mday']."":$akt_dat['mday']; 
            echo "</td>";
            //einen Tag weiter (in sekunden: 60s*60min*24h=1d): 
            $start=$start+(60*60*24);
          }
        }    
    echo "
    </tr>
</table>
</form>
"; 
    ?>
 
Zuletzt bearbeitet:
Könntest du deine Fehlerbeschreibung noch erweitern? Was klappt genau nicht, wie sieht die Ausgabe im Moment aus und so weiter...

Ansonsten verstehe ich deine Herangehensweise nicht so ganz an dieser Stelle:
PHP:
       for ($z=0; $z<(6*7); $z++) 
        { 
          $akt_dat=getdate($start); 
          if (($z % 7) == 0)
Irgendwie sieht es für mich so aus, als ob du nur etwas ausgibst wenn $z ohne Rest durch 7 teilbar ist?!
 
Es wird ein dropdown-menu erzeugt. einmal der monat und einmal das jahr. wenn ich nun eines von beiden ändern will. soll ausgewählt werden und drücken auf anzeigen. sprich dann soll in den entsprechenden monat des entsprechenden jahres gesprungen werden.

nur bisher passiert nix! :suspekt:
ich glaub ich seh da irgendwo den wald vor lauter bäumen nicht.
 
Zurück