Terminkalender

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

  • Terminkalender

    Hallo Leute!

    Ich sitze jetzt schon seit Stunden an einem Terminkalender, den ich gerne fertig machen möchte, aber ich komm nicht weiter.

    Ich habe aus der DB einen Anfang und Endtermin (10:00 und 12:00).
    Mein Terminplaner zeigt mir die Start und Endzeit an, wenn Termine sind, aber ich bekomme das nicht hin, die Zeit dazwischen auch als Termin auszugeben. Hab eine totale Blockade. Habt Ihr vielleicht eine Idee bitte?

    PHP-Code:
    $zeit_array = array(":00",":30"); 

    echo 
    "<p>
    <table width=\"600\" class=\"table_main\" cellpadding=\"1\" cellspacing=\"1\" border=\"1\"> 
     <tr> 
     <td class=\"table_oben\">Zeit</td><td>Termine</td></tr>"
    ;
     
            for(
    $begin_start $start_time$begin_start<=$end_time$begin_start++) // Schleife für die Stunden 
            

             for(
    $count_zeit 0$count_zeit<=1$count_zeit++) // Schleife für die Minuten 
             
    {
             
             
    $zeit_temp $begin_start.$zeit_array[$count_zeit];
             
             
    //Termine herausfinden
             
    $get_time $jahr."".$monat."".$tag;
             
                 
    $result mysql_query("SELECT * FROM termine WHERE start_datum = $get_time") or mysql_error();
                
    $zeile mysql_fetch_array($result);
                
                
    $begin_termin $zeile["start_time"];
                
    $ende_termin $zeile["end_time"];                
                        
                if ((
    $begin_termin>=$zeit_temp) || ($ende_termin==$zeit_temp))
                {
                
    $tab_inser "Termin vergeben ";
                }
                else
                {
                
    $tab_inser "kein termin";
                }
                
             echo 
    "<tr><td class=\"table_oben\"><b>".$zeit_temp."</b></td><td>".$tab_inser." - $termin_zeit</td>";             

             
             if(
    $begin_start == $end_time){break;} 
             } 
            } 
    Herzlichen Dank für Eure Hilfe!
    Gruss
    Thomas

  • #2
    Hallo,

    du musst einfach alle Slots belegen, die zwischen Anfang und Ende liegen. Je nach Slotbreite (bei Tagesansicht z. B. 1 Stunde, bei Monatsansicht 1 Tag u. s. w) gehst du per Zählschleife von Anfang bis Ende, markierst den entsprechenden Slot und erhöhst dabei in jedem Schritt die Zählvariable um die Slotbreite.

    Pseudocode:
    Code:
    slotbreite = 24 * 60 * 60
    start -= start % slotbreite // startwert abrunden auf ganzen slot
    for (i = start; i < ende; i += slotbreite) {
        belegeSlot(i);
    }
    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 20.01.2011, 16:24.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Herzlichen Dank!

      Ich probiers mal!

      Danke
      Thomas

      Kommentar

      Lädt...
      X