Kalender - Probleme bei Wochenansicht?!

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

  • Kalender - Probleme bei Wochenansicht?!

    Guten Tag!

    Ich habe einen kleinen Kalender geschrieben, mit einer Monats- und einer Wochenansicht.

    Nun mein Problem bei der Wochenansicht:
    Wenn ich an einem Tag meherere Termine habe, bekomme ich es einfach nicht gebacken, diese darzustellen. Ich bekomme nur immer einen (und zwar den letzen) Termin dargestellt. Das Problem kenne ich auch mehr oder weniger:
    Die komplette Wochenansicht ist eine Tabelle, die Html-Spezifisch von Links nach rechts für jede Zeile aufgebaut wird.

    Ich überprüfe für jeden Wochentag ($weekday[0 - 6]), ob ein Eintrag in der DB liegt, wenn ja gehe zur Funktion ausgabe.
    In dieser wieder wird geprüft, wann der Termin beginnt (Leerfelder werden vor den Termin gesetzt), wielange er dauert und wann der Termin zu Ende ist, damit ich es wieder mit Leerfelder auffülle (Für alle diese Dinge werden in den return Array die HTML Tags geschrieben, insgesmat [0-14]).
    Dann gebe ich von dieser Funkton den Array $weekday zurück, der nun alle Html Tags für die Tabelle für den einen Tag enthält.

    Nun gehe ich bei der Ausgabe in einer Schleife (0-14 <-- Daher, da ich 14 Stundenfelder am Tag darstelle) durch und gebe für jeden weekday[0-6] (also der Wochentag) das Ergebnis (z.B. Mittwoch, Zeitraum 17 - 18 Uhr ist bei mir der HTML Tag der in dem Array $weekday[2][11] steckt. Donnerstag, selbe Uhrzeit $weekday[3][11]) aus.

    Wenn ich jetzt zwei Termine an einem Tag habe, nimmt er natürlich den ersten Termin, schreibt ihn in den Array des Wochentages (z.B Mittwoch = weekday[2]), nimmt dann den zweiten Termin und schreibt ihn in den sellben weekday Array (also auch weekday[2]). Zack, der erste ist weg...

    Ich habe schon einiges versucht, zig Abfragen, Prüfungen usw. eingebaut, aber leider nicht auf die Lösung gekommen.
    Hat jemand ne Idee (vielleicht bin ich auch nun schon "blind" in diesem Ding, da ich heute schon einige Stunden nur an diesem Prob rumdoktore...)?

    Danke schonmal & Grüße
    Jebediah

    P.S. Ist für mich, bzw. werde ich, wenn er fertig und 100% funzt auch zum Download bereit stellen. Als kein Ding, dass ich verkaufe, nur um dieser Frage vorzubeugen.

  • #2
    ist erst mal das falsche forum...
    @ mod plz move

    Nun gehe ich bei der Ausgabe in einer Schleife (0-14 <-- Daher, da ich 14 Stundenfelder am Tag darstelle)
    0 - 14 sind für mich 15 zahlen... nur so zur info

    zu deiner überprüfung mach einfach:

    if(strlen($weekday[2][11]) > 0) $weekday[2][11] .= 'Noch ein Termin!!';
    else $weekday[2][11] = 'Neuer Termin!';


    man beachte den . als verbindungs operator

    mfg

    Kommentar


    • #3
      Danke erstmal!

      Da ich eigentliche keine Hilfe beim Code brauche sondern bei den "theoretischen Überlegungen", dachte ich "Brainstorming" wäre treffender. Wenn's das falsche Forum ist, bitte verschieben.


      0 - 14 sind für mich 15 zahlen... nur so zur info
      Falsch Ausgedrückt von mir, es sind 14 Stundenfelder + 1 Feld, für alles nach 20 Uhr.

      if(strlen($weekday[2][11]) > 0) $weekday[2][11] .= 'Noch ein Termin!!';
      else $weekday[2][11] = 'Neuer Termin!';
      Bei mir ist jedes Feld des Arrays gefüllt nach dem Aufruf der Funktion gefüllt, entweder mit dem HTML Code für Leerfelder der Tabelle oder mit dem HTML Code für einen Termin, d.h. nach o. g. Code würde er bei mir immer in den "else" Teil gehen.

      Ich gehe bei jedem Termin in die Ausgabe Funktion. Wenn nun meherere Termine an einem Tag sind, geht er mehrmals für den selben Tag (z. B. Mittwoch --> $weekday[2]) in die Ausgabe und überschreibt die vorherigen Termine.

      Ich habe z. B. schon versucht, dass, wenn er meherere Termine für einen Tag hat, die Funtkion aufgerufen wird. Er nur die Felder bis zum Ende des Termins füllt, diesen Array dannzurück gibt und in wiederum in einer anderen Variable speichert. Danach das ganze für den nächsten Termin, usw... Schließlich baut er mir wieder aus diesen den weekday Array zusammen. Theoretisch, denke ich, müsste es passen, aber leider klappt's nicht so ganz...

      Kommentar


      • #4
        so?
        PHP-Code:
        if ($weekday[2][11]!='code für keinen termen')
          
        $weekday[2][11] .= 'Noch ein Termin!!';
        else 
          
        $weekday[2][11] = 'Neuer Termin!'
        wobei mir die variante mit leeren feldern für freie tage besser gefällt...
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Danke, aber dies ist es auch nicht.

          Ich habe mich ein paar Tage mit anderen Dingen beschäftigt und bin nun vermutlich auf den richtigen Weg gekommen:

          Ich denke ich realisiere es in dem ich einen weiteren Array einbaue, der, wenn mehrere Termin vorhanden sind, mit dem nächsten Termin gefüllt wird. Wenn nur eine Termin vorhanden ist, bleibt der Array leer. Dann werde ich einfach einen Check einbauen und bei mehrerer Terminen die verschiedenen Arrays wieder zu einem zusammenbauen lasse.

          Bis dann!

          Kommentar

          Lädt...
          X