Dienstplan/Kalender erstellen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dienstplan/Kalender erstellen?

    Wer kann mir helfen einen PHP Dienstplan zu erstellen, der dem Muster der als Anhang
    beiliegenden dipla.htm ähnelt.
    In der Kopfzeile soll immer der aktuelle
    Monat/Jahr stehen, rechts und links davon ein
    vor und zurück Button.
    In der zweiten Zeile, die Wochentage.
    Jeder Monat ist in drei Gruppen (Farben) unterteilt, der Dienstrhythmus bleibt immer gleich.
    Am Beispiel der Gruppe „III“ im Oktober 2005:
    1.10. – Dienst
    3.10. – Dienst
    5.10. – Dienst
    Dann vier Tage frei, dann beginnt der Rhythmus wieder von
    vorn. Genau so verhält es sich auch bei Gruppe I und II.
    Der Dienstplan sollte sich also (php like) immer fortlaufend aktualisieren.

    Ich habe ein PHP-Script gefunden (Kalender, siehe unten) das der Sache schon recht nahe kommt und
    wo man event. nur wenige Variablen bzw. Funktionen hinzufügen/ändern muss wozu ich aber wie ich
    schon gemerkt
    hab zu unwisssend bin :/
    Vielleicht erbahmt sich ja jemand, bin über jede
    Hilfe dankbar!

    Gruss Spandow


    PHP-Code:
     <?php
    // *** START Dienstplan ***
    $monat=date("n");
    $jahr=date("Y");
    $erster=date("w"mktime(0,0,0,$monat,1,$jahr));
    $insgesamt=date("t");
    $heute=date("d");
    $monate=array("Januar","Februar","M&auml;rz","April",
    "Mai","Juni","Juli","August""September","Oktober","November","Dezember");
    if(
    $erster==0){$erster=7;}

    ?>

    <html>
    <body bgcolor="#666D81"></body>
    </html>

    <?php
     
    echo "<table border=\"0\" style=\"font-size:8pt; font-family:Verdana\">\n";
    echo 
    "<th colspan=\"7\" align=\"center\" style=\"font-size:10pt; font-family:Tahoma;
     color:#FCC46D;\">"
    .$monate[$monat-1]." ".$jahr."&nbsp;&raquo;</th>";
    echo 
    "<tr>\n<td style=\"color:#000000\">
    <b>Mo</b></td><td style=\"color:#000000\">
    <b>Di</b></td>"
    ;
    echo 
    "<td style=\"color:#000000\"><b>Mi</b></td><td style=\"color:#000000\">
    <b>Do</b></td>"
    ;
    echo 
    "<td style=\"color:#000000\"><b>Fr</b></td><td style=\"color:#0000cc\">
    <b>Sa</b></td>"
    ;
    echo 
    "<td style=\"color:#cc0000\">
    <b>So</b></td></tr>\n"
    ;
    echo 
    "<tr>\n";
    $i=1;
    while(
    $i<$erster){echo "<td>&nbsp;</td>"$i++;}
    $i=1;
    while(
    $i<=$insgesamt)
    {
    $rest=($i+$erster-1)%7;
    if(
    $i==$heute){echo "<td style=\"font-size:8pt; font-family:Verdana;
     background:#ff0000;\" align=center>"
    ;}
    else{echo 
    "<td style=\"font-size:8pt;
     font-family:Verdana\" align=center>"
    ;}
    if(
    $i==$heute){echo "<span style=\"
    color:#ffffff;\">
    $i</span>";}
    else if(
    $rest==6){echo "<span style=\"color:#0000cc\">$i</span>";}
    else if(
    $rest==0){echo "<span style=\"color:#cc0000\">$i</span>";}
    else{echo 
    "$i";}
    echo 
    "</td>\n";
    if(
    $rest==0){echo "</tr>\n<tr>\n";}
    $i++;
    }
    echo 
    "</tr>\n";
    echo 
    "</table>\n";
    // *** ENDE Dienstplan ***

    ?>

    <html>
    <body>
    <table border="0" width="100%"
     style="border-collapse: collapse" bordercolor="#000000">
            <tr>
                    <td bgcolor="#8D93A8" align="center" width="10%"><b>
                    <font face="Tahoma" size="2">I.</font></b></td>
                    <td bgcolor="#COCOCO" align="center" width="10%"><b>
             <font size="2" face="Tahoma">II.</font></b></td>
             <td align="center" width="10%" bgcolor="#EEB867"><b>
            <font size="2" face="Tahoma">III.</font></b></td>
            </tr>
    </table>
    </body>
    </html>
    Zuletzt geändert von Spandow; 15.09.2005, 10:56.

  • #2
    du hast dein text nicht richtig umgebrochen (siehst du die scrollleiste unten), ändere deinen beitrag lieber nochmal, es gibt einige mitglieder, die dir deswegen gar nicht antworten und verdammt viele die dich darauf hinweisen werden.
    hier wird dir niemand den code vorkauen, also stell lieber fragen zu einzelnen codeschnippseln. am besten den schnippsel, was du denkst, was passiert und dann auf antwort warten, also los, frage

    Kommentar


    • #3
      *LOB*
      sind forumregeln:
      http://www.php-resource.de/forum/sho...threadid=50454

      http://www.php-resource.de/forum/sho...threadid=14817

      und jetzt her mit den fragen

      Kommentar


      • #4
        Dank Dir erstmal für deine Vorab Tipps!

        Also ich weiss dass ich im PHP-Script die Gruppen I, II und III deklarieren muss.
        Des weiteren muss ich Zeit-Startpunkte für jede Gruppe erstellen, sowie jeweils eine Formel erstellen, die da lauten müsste:

        Zeit-Startpunkt/GruppeI + 2 + 2 + 5/bzw - 5 - 2 - 2.

        Dieser Ryhtmus bleibt immer gleich!

        Im Beispiel der Gruppe III:

        1.10.05 (start, Farbe gelb), 3.10.05 (wieder gelb), 5.10.05 (wieder gelb)

        Wenn es so stimmt wie ich es oben angeführt habe, dann wäre es toll wenn mir ein jemand sagen könnte wie ich "deklariere" und wie ich die Formel in PHP schreiben kann.


        Hier ne Url zur Beispiel.htm, wie es graphisch aussieht.
        Zuletzt geändert von Spandow; 15.09.2005, 12:26.

        Kommentar


        • #5
          ich habe mir das ganze mal kurz angeschaut. meiner meinung nach, kannst du den quelltext erstmal BIS
          else if($rest==6){echo "<span style=\"color:#0000cc\">$i</span>";}
          lassen, wenn du den aktuellen tag eingerahmt haben willst. danach musst du aber alles wegnehmen und selber schreiben. du müsstest dir einen algorithmus schreiben, der dir vielleicht 1,2 oder 3 zurück liefert und in abhängigkeit des ergebnisses, färbst du die tage ein. also 1=grau, 2=gelb, 3=???

          Kommentar


          • #6
            Wenn ich dich richtig verstehe, "nur" eine "Formel" erstellen, nach der die Tage im obigen Algorithmus den Farben nach angezeigt werden?

            Also muss ich garnicht erst wissen, wie ich dem php-script erkläre was Gruppe 1,2oder 3 ist?

            Ok, ist ein erster Ansatz!
            Dann versuche ich erstmal in Erfahrung zu bringen, wie ich solch einen Algorithmus erstelle...

            Melde mich heut abend wieder, dank Dir erstmal!

            Kommentar


            • #7
              Also muss ich garnicht erst wissen, wie ich dem php-script erkläre was Gruppe 1,2oder 3 ist?
              wie meinst du das denn? du brauchst den algo, nachdem du die tage einfärbst und ein bisschen quelltext (den du dir teilweise abkupfern kannst, von dem was du schon hast) um die tage einzufärben. ob du die färbung durch das skript für sonnabend und sonntag behalten willst, musst du dir überlegen.

              Kommentar


              • #8
                Ich war erst der Meinung man müßte Variablen erstellen (für jede Gruppe eine), denen dann jeweils bestimmte Rückgabewerte zugewiesen werden.

                in etwa wie:
                $gruppea=wertxy();
                $gruppeb=wertxx();
                $gruppec=wertyy();
                ..habe aber keine Ahnung ob das so stimmt


                Als Wert würde dann vielleicht der Startwert (das Datum mit Farbzuweisung eingesetzt werden) und dann eine Addition folgen, also 2+2+5 und das ganze endlos.

                So hatte ich gedacht, dass es irgendwie gehen könnte... hmm, es ist doch irgenwo das Gleiche, ob man den Gruppen oder den Farben Werte zuweist

                Kommentar

                Lädt...
                X