André: kleiner Kalender

Hallo... sorry, hab noch ein Problem...

Ich versuche mit PHP einen Kalender aufzubauen... deswegen das auch
eben wegen den PNGs...

Leider funktioniert das ganze noch nicht...
http://www.emaniax.de/andre/kalender/kal1.php

Normalerweise müssten dadrunter alle Grafiken angezeigt werden.
Wobei jeder Tag eine Grafik ist...

Folgenden Code hat die kal1.php:

<?
include("kal_func.php");

echo "<table bgcolor='FFCC00' border=0>";
kal_header();
kal_body();
echo "</table>";

function kal_header() {
    echo "<tr><td width=10%>",strftime('%b', mktime (0,0,0, 1,1, 2000)),"</td>";
    echo "<td width=10%>",strftime('%b', mktime (0,0,0, 2,1, 2000)),"</td>";
    echo "<td width=10%>",strftime('%b', mktime (0,0,0, 3,1, 2000)),"</td>";
    echo "<td width=10%>",strftime('%b', mktime (0,0,0, 4,1, 2000)),"</td>";
    echo "<td width=10%>",strftime('%b', mktime (0,0,0, 5,1, 2000)),"</td>";
    echo "<td width=10%>",strftime('%b', mktime (0,0,0, 6,1, 2000)),"</td>";
    echo "<td width=10%>",strftime('%b', mktime (0,0,0, 7,1, 2000)),"</td>";
    echo "<td width=10%>",strftime('%b', mktime (0,0,0, 8,1, 2000)),"</td>";
    echo "<td width=10%>",strftime('%b', mktime (0,0,0, 9,1, 2000)),"</td>";
    echo "<td width=10%>",strftime('%b', mktime (0,0,0, 10,1, 2000)),"</td>";
    echo "<td>",strftime('%b', mktime (0,0,0, 11,1, 2000)),"</td>";
    echo "<td>",strftime('%b', mktime (0,0,0, 12,1, 2000)),"</td></tr>";
};
function mon_out() {
    $ext= ".gif";
    $ext1= ".php";
    $path= "/home/emaniax/andre/kalender/bilder/";
    while (monx($z)==$mon) {
          $gif= $path.$z.$ext;
          $lnk= $z.$ext1;
          echo "<a href=kal_tag.php?tag=",$z,"><img border=0 src=$gif></a><br>";
          $z+=1;
          }
          return $z;
}
function kal_body() {
    $tag= 1;
    echo "<tr><td valign=top>";
    for ($mon=1;$mon<13;$mon++) {
        $tag=mon_out($mon, $tag);
        echo "</td>$tag<td valign=top>";
        }
    echo "</td></tr>";
};

?>

Vielleicht kann mir wer dabei helfen? Auch per eMail :) DANKE!

  1. Huhu

    Leider funktioniert das ganze noch nicht...

    [...]

    function mon_out() {

    [...]

    $tag=mon_out($mon, $tag);

    Augen auf ;-)

    Viele Grüße

    lulu

    1. Nenn mich doof, aber ich verstehe grad nichts :)

      Kannste mir das genauer sagen?

      Huhu

      Leider funktioniert das ganze noch nicht...

      [...]

      function mon_out() {

      [...]

      $tag=mon_out($mon, $tag);

      Augen auf ;-)

      Viele Grüße

      lulu

      1. Huhu André

        Nenn mich doof, aber ich verstehe grad nichts :)

        So weit würde ich nicht gehen ;-)

        Kannste mir das genauer sagen?

        ich versuch's

        Im Funktionsaufruf übergibst Du Parameter, allerdings
        sind in der Definition der Funktion keine solchen vorgesehen.
        Deshalb sind die Variablen $mon und $tag innerhalb der Funktion
        mon_out undefiniert.

        Viele Grüße

        lulu

        1. Bin ich blöde... mon_out($mon,$z$)...
          ker ker ker :-)

          Weisst du zufällig, wie man auf einem SUSE Linux Server den
          Pysikalischen Speicher wieder freimacht? Hab nur noch 4% frei :-\

          Huhu André

          Nenn mich doof, aber ich verstehe grad nichts :)
          So weit würde ich nicht gehen ;-)

          Kannste mir das genauer sagen?
          ich versuch's

          Im Funktionsaufruf übergibst Du Parameter, allerdings
          sind in der Definition der Funktion keine solchen vorgesehen.
          Deshalb sind die Variablen $mon und $tag innerhalb der Funktion
          mon_out undefiniert.

          Viele Grüße

          lulu

          1. Huhu

            Weisst du zufällig, wie man auf einem SUSE Linux Server den
            Pysikalischen Speicher wieder freimacht? Hab nur noch 4% frei :-\

            Nein, leider nicht. (Ok, Du könntest den Netzstecker ziehen, aber das wolltest Du sicher nicht wissen)

            Aber eines brennt mir noch unter den Nägeln und zwar Deine
            Funktion um die erste  Kalenderzeile auszugeben.
            Die erscheint mir dann doch etwas arg unnötig umständlich.

            Eine Alternative wäre vielleicht etwas in dieser Art

            function kal_header()
            {
             $months = array('Jan','Feb','Mrz','Apr'); # etc

            echo '<tr><td width="10%">'.join('</td><td width="10%">',$months).'</td></tr>';
            }

            Viele Grüße

            lulu

            1. Aber eines brennt mir noch unter den Nägeln und zwar Deine
              Funktion um die erste  Kalenderzeile auszugeben.
              Die erscheint mir dann doch etwas arg unnötig umständlich.

              Eine Alternative wäre vielleicht etwas in dieser Art

              function kal_header()
              {
              $months = array('Jan','Feb','Mrz','Apr'); # etc

              echo '<tr><td width="10%">'.join('</td><td width="10%">',$months).'</td></tr>';
              }

              Danke für deinen Tipp... ich werds gleich mal austesten :)

  2. Das Teil lädt sich jetzt aber ins unendliche... sieht wer den Fehler? Ich sehe da keinen *schnüff*

    1. Huhu André

      Das Teil lädt sich jetzt aber ins unendliche... sieht wer den Fehler? Ich sehe da keinen *schnüff*

      poste doch mal den aktuellen Code und eine kurze Beschreibung was
      eigentlich angezeigt werden soll.

      so far ...

      lulu

    2. Huhu André

      habe eben nochmal auf Deinen Kalender geschaut
      und es scheint ja jetzt zu funktionieren :-)

      (Ok, darüber das überall eine 0 steht wollen wir mal gnädig hinwegsehen, das kann ja nur eine Kleinigkeit sein)

      Aber warum jeder Tag als Grafik dargestellt werden soll leuchtet mir nicht ein.
      Das ist performancemäßig in jedem Fall ungünstig, weil allein für die Grafiken 365 Dateien geladen werden müssen.

      Alternativen wären vielleicht

      • gar keine Grafiken verwenden sondern per CSS gestalten
      • Wochentage und Zahlen getrennt, dann bleiben "nur" noch 7 + 31 gfx
      • jeweils einen Monat als Grafik erzeugen lassen, bleiben 12 grosse statt 365 kleine Grafiken

      Gute Nacht und Viele Grüße

      lulu