Ankündigung

Einklappen
Keine Ankündigung bisher.

Termine aus Terminplan anzeigen, Begrenzung auf z.B. 4 Wochen

Einklappen

Neue Werbung 2019

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

  • #16
    Ok, ein Termin hat nur ein Startdatum.. das heisst für dich:

    WENN Termin >= Jetzt UND Termin <= Jetzt+28 Tage
    DANN hast du einen Treffer

    Code this!

    Deine ganze Stringfummelei vergisst du auch wieder und schaust dir strtotime() an, damit wird das ganze zum 2-Zeiler (4, wenn man es übersichtlich machen will).
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #17
      Ich hab es versucht (letzte 3 Zeilen) und es geht nicht :
      PHP-Code:
      $trans = array( 'Monday' => 'Montag''Tuesday' => 'Dienstag''Wednesday' => 'Mittwoch''Thursday' => 'Donnerstag''Friday' => 'Freitag''Saturday' => 'Samstag''Sunday' => 'Sonntag''Mon' => 'Mo''Tue' => 'Di''Wed' => 'Mi''Thu' => 'Do''Fri' => 'Fr''Sat' => 'Sa''Sun' => 'So''January' => 'Januar''February' => 'Februar''March' => 'März''May' => 'Mai''June' => 'Juni''July' => 'Juli''October' => 'Oktober''December' => 'Dezember');
      $termine '{Liste.Termine}';
       
      $result=""$term="";preg_match_all("/[\d]{2}+\.+[\d]{2}+\.+[\d]{2}/",$termine,$datum);
      for (
      $i 0$i count($datum[0]); $i++)
      {
      $tag substr($datum[0][$i],0,2);
      $monat substr($datum[0][$i],3,2);
      $jahr substr($datum[0][$i],6,2);
      $wochentag strtr(date("l"mktime(0,0,0,$monat,$tag,$jahr)), $trans);
      $monatname strtr(date("F"mktime(0,0,0,$monat,$tag,$jahr)), $trans); 
      $term $term.(mktime(0,0,0,$monat,$tag,$jahr)). "\r\n" ;
      $terminxsubstr($term,0,-2);$datemaxstrtotime("+28 day");$heute=strtotime("now");};
      If(
      $heute<$terminx and $datemax>$terminx
       echo 
      substr($term,0,-2); 
      Ich bekomme alle Termine angezeigt. Was mache ich da falsch?

      Kommentar


      • #18
        Zitat von rkr Beitrag anzeigen
        Brauche gerade etwas Pause

        PHP-Code:
        <?php
        /* Ausgangslage */

        $day 60 60 24;
        $dates = array();
        for(
        $i=0$i++ < 10000;) {
            
        $dates[] = date('d.m.Y'time() + rand(-$day 10$day 50));
        }
        $datesString join("\n"$dates);


        /* Programm */


        $dates explode("\n"$datesString);
        $dates array_map('trim'$dates);

        $startDate = new \DateTime(); // NOW
        $endDate = new \DateTime('+1 month'); // +1 Monat

        $filterFn = function ($date) use ($startDate$endDate) {
            
        $curDate = new \DateTime($date);
            return 
        $curDate >= $startDate && $curDate <= $endDate;
        };

        $relevantDates array_filter($dates$filterFn);

        print_r($relevantDates);

        Wie kann ich denn diesen PHP-Code in meinen einbinden und damit meine Termine filtern und anzeigen kann? Vielleicht kannst du mir dabei helfen! vielen Dank im voraus!

        Kommentar


        • #19
          Ich kann hier mit wenig anfangen:

          PHP-Code:
          $termine '{Patient.Termine}'

          Kommentar


          • #20
            DA ich ein Anfänger bin kann ich es auch nicht richtig erklären. Mit dem genannten script kann ich aber alle Termine für die Kunden raussuchen und bekomme dann ja auch eine entsprechende Liste. Kann man da nicht die Termine für die nächsten 4 Wochen einschränken?

            {liste.termine} ist eine Tabelle in html, in der die Termine stehen und mit dem genannten PHP-Code werden die Termine extrahiert.

            Kommentar


            • #21
              PHP-Code:
              $termine '{Patient.Termine}'
              Naja, wenn da nicht noch von aussen irgendeine Magie im Spiel ist, dann gehst du eben keine Termine durch, sondern nur

              {Patient.Termine}
              was selbstredend weder ein Termin noch eine Liste von Terminen ist. Das kann PHP auch nicht von selbst in irgendwas auflösen. Das ist einfach nur diese Zeichenkette, die da steht. Die steht für nichts:

              https://eval.in/221578

              Bei meinem Codebeispiel gibt es immerhin Daten:

              https://eval.in/221580

              Kommentar


              • #22
                Danke für die Antworten!
                Hinter {Liste.Termine} steht diese html-Datei (im Prinzip nur eine Tabelle mit den Datenfeldern):

                <html><head><body><table COLS=3 BORDERr=1 WIDTH=”100%”>
                <tr><th WIDTH=”10%” bgcolor=”#FFFF00”align=”center”><b>Datum</b></th><th WIDTH=”10%”bgcolor=”#FFFF00” align=”center”><b>Uh
                </tr>
                <tr>td WIDTH=10%” align=”center”>18.11.14</td>
                <td WIDTH=”10%” align=”center”> 17:00</td>
                <td WIDTH=”80%” >Bereich: Reparatur</td>
                </tr>
                <tr>td WIDTH=10%” align=”center”>19.11.14</td>
                <td WIDTH=”10%” align=”center”> 17:20</td>
                <td WIDTH=”80%” >Bereich: Reparatur2</td>
                </tr>
                <tr>td WIDTH=10%” align=”center”>26.11.14</td>
                <td WIDTH=”10%” align=”center”> 16:40</td>
                <td WIDTH=”80%” >Bereich: Anmelden</td>
                </tr>
                <tr>td WIDTH=10%” align=”center”>29.11.14</td>
                <td WIDTH=”10%” align=”center”> 17:40</td>
                <td WIDTH=”80%” >Bereich: Abholen</td>
                </tr>
                <tr>td WIDTH=10%” align=”center”>09.03.15</td>
                <td WIDTH=”10%” align=”center”> 16:20</td>
                <td WIDTH=”80%” >Bereich: Kontrolle</td></tr>
                </tr>
                <tr>td WIDTH=10%” align=”center”>12.05.15</td>
                <td WIDTH=”10%” align=”center”> 17:00</td>
                <td WIDTH=”80%” >Bereich: Abholen</td>
                </tr>
                </table></body></html>

                Hierin sind die Termine enthalten und können mit dem von mir geposteten PHP-Code ausgelesen werden. Ich erhalte ja, wie schon beschrieben die Terminliste. Mit echo($result) bzw. im Unix-Code mit $echo ($term) kann ich diese Liste ja ausgeben. Ich kann sie nur nicht auf 4 Wochen begrenzen. Gibt es denn dafür keine Möglichkeit der zeitlichen Begrenzung?

                vielen Dank

                Kommentar

                Lädt...
                X