[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
While Schleife rex_sql Klasse. Erledigt - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Elim
Beiträge: 5
Registriert: 20. Nov 2015, 11:45

While Schleife rex_sql Klasse. Erledigt

2. Feb 2016, 13:22

Hallo zusammen, habe ein kleines Problem mit REX-SQL.

Ich erzeuge einen Kalender html und css funktioniert, jetzt möchte den Inhalt einfügen.

Also Ich habe 2 Tabellen über den Tabellenmanager angelegt:

eine für aktuelle Termine und eine für Standardtermine

Tabelle 1

id, wochentag, startzeit, endzeit, bezeichnung, beschreibung

Tabelle 2
id, start, ende, was, description

Die Zeiten sind datetime alles andere Text.


Früher habe ich es so gemacht:

Code: Alles auswählen

$result = mysql_query("SELECT * FROM ... WHERE ....");		
	while($row = mysql_fetch_array($result)) {
  if (...) {
 echo $row['...'];
}
}
usw.

mein Modul in der Ausgabe bis jetzt

Code: Alles auswählen

    <?php
$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',
);

$trans2 = array(
    'Mo'    => '1', 'Di'   => '2', 'Mi' => '3', 'Do'  => '4', 'Fr'    => '5', 'Sa'  => '6',
    'So'    => '7' );

//Where erstellen

$das = '01';
$mas = date('m');
$yas = date('Y');
$where = $yas.'-'.$mas.'-'.$das.' 00:00:00.001';
//echo $where;

$db_table1 = "rex_standard";
$sql1 = rex_sql::factory();
$sql1->setQuery("SELECT * FROM $db_table1 WHERE `start` > '$where'");


$db_table2 = "rex_termine";
$sql2 = rex_sql::factory();
$sql2->setQuery("SELECT * FROM $db_table2 WHERE `start` > '$where'");


    setlocale(LC_TIME, "de_DE.utf8");
    $kal_datum = time();
    $kal_tage_gesamt = date("t", $kal_datum);
    $kal_start_timestamp = mktime(0,0,0,date("n",$kal_datum),1,date("Y",$kal_datum));
    $kal_start_tag = date("N", $kal_start_timestamp);
    $kal_ende_tag = date("N", mktime(0,0,0,date("n",$kal_datum),$kal_tage_gesamt,date("Y",$kal_datum)));
    
      echo '<div class="acc"><h3>';
      echo strftime("%B %Y", $kal_datum);
      echo '</h3>';
      echo '<div><p>';


      for($i = 1; $i <= $kal_tage_gesamt+($kal_start_tag-1)+(7-$kal_ende_tag); $i++)
      {
        $kal_anzeige_akt_tag = $i - $kal_start_tag;
        $kal_anzeige_heute_timestamp = strtotime($kal_anzeige_akt_tag." day", $kal_start_timestamp);
        $kal_anzeige_heute_tag = date("j", $kal_anzeige_heute_timestamp);
          
        if(date("N",$kal_anzeige_heute_timestamp) == 1)
          echo '    <div class="cal_week">';
          
        if(date("dmY", $kal_datum) == date("dmY", $kal_anzeige_heute_timestamp))
        {       $wd1 = date("D ",$kal_anzeige_heute_timestamp);
                $wd2 = date("l ",$kal_anzeige_heute_timestamp);
                $wd3 = date(" F",$kal_anzeige_heute_timestamp);
                $wd1 = strtr ($wd1, $trans);
                $wd2 = strtr ($wd2, $trans);
                $wd3 = strtr ($wd3, $trans);
                       
          echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#a'.$kal_anzeige_heute_tag.'">';
          echo '<div class="kal_aktueller_tag">';
          echo '<div class="cal_top_a">'.$wd1.$kal_anzeige_heute_tag.'</div>';
          echo '<div class="cal_main">';
         //while 1 Aktuelle Termine
        
          echo '</div>';
          echo '<div class="cal_standard">';
         //while 2 Standard Termine
        
          echo '</div>';
          echo '</div></a>';
          echo '<div style="display:none" id="a'.$kal_anzeige_heute_tag.'">';
          echo '<div class="kal_aktueller_tag_fancy">';
          echo '<div class="cal_top_a">'.$wd2.$kal_anzeige_heute_tag.$wd3.'</div>';
          echo '<div class="cal_main_fancy">';
         //while 1
         
          echo '</div>';
          echo '<div class="cal_standard_fancy">';
          //while 2
         
         
          echo '</div>';
          echo '</div>';
          echo '</div>';
          }
          
        elseif($kal_anzeige_akt_tag >= 0 AND $kal_anzeige_akt_tag < $kal_tage_gesamt)
          {       $wd1 = date("D ",$kal_anzeige_heute_timestamp);
                $wd2 = date("l ",$kal_anzeige_heute_timestamp);
                $wd3 = date(" F",$kal_anzeige_heute_timestamp);
                $wd1 = strtr ($wd1, $trans);
                $wd2 = strtr ($wd2, $trans);
                $wd3 = strtr ($wd3, $trans);
                       
          echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#s'.$kal_anzeige_heute_tag.'">';
          echo '<div class="kal_standard_tag">';
          echo '<div class="cal_top_s">'.$wd1.$kal_anzeige_heute_tag.'</div>';
          echo '<div class="cal_main"></div>';
          echo '<div class="cal_standard"></div>';
          echo '</div></a>';
          echo '<div style="display:none" id="s'.$kal_anzeige_heute_tag.'">';
          echo '<div class="kal_aktueller_tag_fancy">';
          echo '<div class="cal_top_s">'.$wd2.$kal_anzeige_heute_tag.$wd3.'</div>';
          echo '<div class="cal_main_fancy"></div>';
          echo '<div class="cal_standard_fancy"></div>';
          echo '</div>';
          echo '</div>';
          }
          
        else
          echo '      <div class="kal_vormonat_tag"><div class="cal_top_v">'.$kal_anzeige_heute_tag.'</div><div class="cal_main"></div><div class="cal_standard"></div></div>';
          
        if(date("N",$kal_anzeige_heute_timestamp) == 7)
          echo "    </div>";
      }

echo '</p></div></div>';
    ?>
      
Das funktioniert ja hier nicht so und mit objektorientierten Stil hab ich noch Probleme.
Im Tutorial ist ja nur eine for-Schleife angegeben und hab schon ausgiebig gesucht.
Hat jemand eine Idee;

Irgendwie vielleicht mit getArray() aber wie?

Danke für eure Hilfe
Zuletzt geändert von Elim am 4. Feb 2016, 15:56, insgesamt 1-mal geändert.

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: While Schleife rex_sql Klasse

3. Feb 2016, 11:00

Hallo,
in deinem Script legst Du doch nur zwei Instanzen von rex_sql an und setzt dann jeweils eine Abfrage ab.
Dann gehst Du aber nicht weiter damit.

Code: Alles auswählen

$db_table1 = "rex_standard";
$sql1 = rex_sql::factory();
$sql1->setQuery("SELECT * FROM $db_table1 WHERE `start` > '$where'");

$db_table2 = "rex_termine";
$sql2 = rex_sql::factory();
$sql2->setQuery("SELECT * FROM $db_table2 WHERE `start` > '$where'");
im restlichen code gehst du doch gar nicht mehr auf die Ergebnisse der Queries ein.

Ich denke Du solltest hier folgendermaßen vorgehen:

Code: Alles auswählen

$db = rex_sql::factory();

$query = "SELECT * FROM $db_table WHERE `start` > '$where'";

$db_table = "rex_standard";
$array1 = $db->getArray($query);

$db_table = "rex_termine";
$array2 = $db->getArray($query);
Hier benötigst du nur eine Instanz von res_sql nämlich $db
Die getArray() Methode der Instanz rufst Du 2 x mit unterschiedlichen Queries auf.
Die Ergebnisse findest Du im Anschluss an die Abfragen in den Arrays: $array1 und $array2.

$array1[0] gibt Dir den 1 Datensatz als assoziatives Array zurück.
...

Meld Dich falls ich mich unverständlich ausgedrückt habe.
Gunter
read the manual first

Elim
Beiträge: 5
Registriert: 20. Nov 2015, 11:45

Re: While Schleife rex_sql Klasse

3. Feb 2016, 12:53

Danke für Schritt 1 den array Erzeugen.

ergibt jetzt folgenden Array

Code: Alles auswählen

array(10) { [0]=> array(6) { ["id"]=> string(1) "1" ["Wochentag"]=> string(2) "So" ["startzeit"]=> string(8) "09:30:00" ["bezeichnung"]=> string(12) "Gottesdienst" ["beschreibung"]=> string(19) "mit Kinderbetreuung" ["endzeit"]=> string(8) "00:00:00" } [1]=> array(6) { ["id"]=> string(1) "2" ["Wochentag"]=> string(3) " Di" ["startzeit"]=> string(8) "05:30:00" ["bezeichnung"]=> string(19) "Gemeinde-Frühgebet" ["beschreibung"]=> string(0) "" ["endzeit"]=> string(8) "00:00:00" } [2]=> array(6) { ["id"]=> string(1) "3" ["Wochentag"]=> string(3) " Mi" ["startzeit"]=> string(8) "15:00:00" ["bezeichnung"]=> string(9) "Lesecàfe" ["beschreibung"]=> string(42) "Christlicher Kontaktladen und Bücherstube" ["endzeit"]=> string(8) "18:00:00" } [3]=> array(6) { ["id"]=> string(1) "4" ["Wochentag"]=> string(3) " Mi" ["startzeit"]=> string(8) "19:30:00" ["bezeichnung"]=> string(4) "Chor" ["beschreibung"]=> string(11) "Allianzchor" ["endzeit"]=> string(8) "21:30:00" } [4]=> array(6) { ["id"]=> string(1) "5" ["Wochentag"]=> string(3) " Do" ["startzeit"]=> string(8) "10:00:00" ["bezeichnung"]=> string(13) "Familiengebet" ["beschreibung"]=> string(11) "mit Kindern" ["endzeit"]=> string(8) "00:00:00" } [5]=> array(6) { ["id"]=> string(1) "6" ["Wochentag"]=> string(3) " Do" ["startzeit"]=> string(8) "15:15:00" ["bezeichnung"]=> string(14) "Bibellesekreis" ["beschreibung"]=> string(0) "" ["endzeit"]=> string(8) "16:15:00" } [6]=> array(6) { ["id"]=> string(1) "7" ["Wochentag"]=> string(3) " Fr" ["startzeit"]=> string(8) "13:00:00" ["bezeichnung"]=> string(19) "Gemeindegebetskreis" ["beschreibung"]=> string(0) "" ["endzeit"]=> string(8) "14:00:00" } [7]=> array(6) { ["id"]=> string(1) "8" ["Wochentag"]=> string(3) " Fr" ["startzeit"]=> string(8) "15:00:00" ["bezeichnung"]=> string(9) "Lesecàfe" ["beschreibung"]=> string(42) "Christlicher Kontaktladen und Bücherstube" ["endzeit"]=> string(8) "18:00:00" } [8]=> array(6) { ["id"]=> string(1) "9" ["Wochentag"]=> string(3) " Fr" ["startzeit"]=> string(8) "15:30:00" ["bezeichnung"]=> string(17) "Eltern-Kind-Treff" ["beschreibung"]=> string(0) "" ["endzeit"]=> string(8) "17:30:00" } [9]=> array(6) { ["id"]=> string(2) "10" ["Wochentag"]=> string(3) " Sa" ["startzeit"]=> string(8) "18:00:00" ["bezeichnung"]=> string(11) "Jugendkreis" ["beschreibung"]=> string(30) "ab 14 Jahre (offen für jeden)" ["endzeit"]=> string(8) "00:00:00" } } 
Hab es versucht jetzt mit folgenden Konstrukt es auszulesen:

Code: Alles auswählen

  foreach ($array1 as $key) {
                
              foreach ($key as $key2 => $value)

              {

                  if ($key2 == 'Mo') { echo $value;}

                 ...usw

              }
  
              }
geht aber so nicht!!

Entweder steht in der Ausgabe alles drin oder array oder Müll , je nachdem wie ich rumspiele.

Bin da grad ein bisschen überfordert!

http://2017.elim-zittau.de
bei Termine ist der Kalender

Danke für die Mühe überhaupt!

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: While Schleife rex_sql Klasse

3. Feb 2016, 16:07

Hi,
da hast Du Dich von der Array-Strktur verwirren lassen.

Wenn ich Deinen Ansatz zu Array auswerten richtig verstehe, suchst Du nach einem Datensatz bei dem das Feld Wochentag == "Mo" ist.

hier müsstest Du das Array etwas anders auslesen:

Code: Alles auswählen

foreach ($array1 as $value) {
    if ($value['Wochentag'] == 'So') {
        echo $value['bezeichnung']." ".$value['beschreibung']." ab ".$value['startzeit'];
     }
}
Da ich in Deinem array auf die Schnelle gar keinen Montag gefunden habe, hab ich in meinem Vorschlag nach Sonntag gesucht.

Viel Spaß damit.
Gunter
read the manual first

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: While Schleife rex_sql Klasse

3. Feb 2016, 18:11

Hallo,
hab mir mal die Seite angesehen. Ich denke ich verstehe jetzt was Du vorhast.

so sollte deine Modulausgabe zumindest etwas mehr Inhalt bereitstellen als nur die leeren Boxen:

Code: Alles auswählen

<?php
$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' 
);

$trans2 = array (
    'Mo' => '1',
    'Di' => '2',
    'Mi' => '3',
    'Do' => '4',
    'Fr' => '5',
    'Sa' => '6',
    'So' => '7' 
);

// Where erstellen

$das = '01';
$mas = date ( 'm' );
$yas = date ( 'Y' );
$where = $yas . '-' . $mas . '-' . $das . ' 00:00:00.001';
// echo $where;

$db = rex_sql::factory();
$query = "SELECT * FROM $db_table WHERE `start` > '$where'";
$db_table = "rex_standard";
$array1 = $db->getArray($query);
$db_table = "rex_termine";
$array2 = $db->getArray($query);

setlocale ( LC_TIME, "de_DE.utf8" );
$kal_datum = time ();
$kal_tage_gesamt = date ( "t", $kal_datum );
$kal_start_timestamp = mktime ( 0, 0, 0, date ( "n", $kal_datum ), 1, date ( "Y", $kal_datum ) );
$kal_start_tag = date ( "N", $kal_start_timestamp );
$kal_ende_tag = date ( "N", mktime ( 0, 0, 0, date ( "n", $kal_datum ), $kal_tage_gesamt, date ( "Y", $kal_datum ) ) );

echo '<div class="acc"><h3>';
echo strftime ( "%B %Y", $kal_datum );
echo '</h3>';
echo '<div><p>';

for($i = 1; $i <= $kal_tage_gesamt + ($kal_start_tag - 1) + (7 - $kal_ende_tag); $i ++) {
  $kal_anzeige_akt_tag = $i - $kal_start_tag;
  $kal_anzeige_heute_timestamp = strtotime ( $kal_anzeige_akt_tag . " day", $kal_start_timestamp );
  $kal_anzeige_heute_tag = date ( "j", $kal_anzeige_heute_timestamp );
  
  if (date ( "N", $kal_anzeige_heute_timestamp ) == 1)
    echo '    <div class="cal_week">';
  
  if (date ( "dmY", $kal_datum ) == date ( "dmY", $kal_anzeige_heute_timestamp )) {
    $wd1 = date ( "D ", $kal_anzeige_heute_timestamp );
    $wd2 = date ( "l ", $kal_anzeige_heute_timestamp );
    $wd3 = date ( " F", $kal_anzeige_heute_timestamp );
    $wd1 = strtr ( $wd1, $trans );
    $wd2 = strtr ( $wd2, $trans );
    $wd3 = strtr ( $wd3, $trans );
    
    echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#a' . $kal_anzeige_heute_tag . '">';
    echo '<div class="kal_aktueller_tag">';
    echo '<div class="cal_top_a">' . $wd1 . $kal_anzeige_heute_tag . '</div>';
    echo '<div class="cal_main">';
    // while 1 Aktuelle Termine
    
    echo '</div>';
    echo '<div class="cal_standard">';
    // while 2 Standard Termine
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1) {
        echo $value['bezeichnung'];
      }
    }
    echo '</div>';
    echo '</div></a>';
    echo '<div style="display:none" id="a' . $kal_anzeige_heute_tag . '">';
    echo '<div class="kal_aktueller_tag_fancy">';
    echo '<div class="cal_top_a">' . $wd2 . $kal_anzeige_heute_tag . $wd3 . '</div>';
    echo '<div class="cal_main_fancy">';
    // while 1
    
    echo '</div>';
    echo '<div class="cal_standard_fancy">';
    // while 2
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1) {
        echo $value['bezeichnung']." ".$value['beschreibung']." von ".$value['startzeit']." bis ".$value['endzeit'];
      }
    }
    echo '</div>';
    echo '</div>';
    echo '</div>';
  } 

  elseif ($kal_anzeige_akt_tag >= 0 and $kal_anzeige_akt_tag < $kal_tage_gesamt) {
    $wd1 = date ( "D ", $kal_anzeige_heute_timestamp );
    $wd2 = date ( "l ", $kal_anzeige_heute_timestamp );
    $wd3 = date ( " F", $kal_anzeige_heute_timestamp );
    $wd1 = strtr ( $wd1, $trans );
    $wd2 = strtr ( $wd2, $trans );
    $wd3 = strtr ( $wd3, $trans );
    
    echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#s' . $kal_anzeige_heute_tag . '">';
    echo '<div class="kal_standard_tag">';
    echo '<div class="cal_top_s">' . $wd1 . $kal_anzeige_heute_tag . '</div>';
    echo '<div class="cal_main"></div>';
    echo '<div class="cal_standard"></div>';
    echo '</div></a>';
    echo '<div style="display:none" id="s' . $kal_anzeige_heute_tag . '">';
    echo '<div class="kal_aktueller_tag_fancy">';
    echo '<div class="cal_top_s">' . $wd2 . $kal_anzeige_heute_tag . $wd3 . '</div>';
    echo '<div class="cal_main_fancy"></div>';
    echo '<div class="cal_standard_fancy"></div>';
    echo '</div>';
    echo '</div>';
  } 

  else
    echo '      <div class="kal_vormonat_tag"><div class="cal_top_v">' . $kal_anzeige_heute_tag . '</div><div class="cal_main"></div><div class="cal_standard"></div></div>';
  
  if (date ( "N", $kal_anzeige_heute_timestamp ) == 7)
    echo "    </div>";
}

echo '</p></div></div>';
?>
         
Da ich Inhalt und Struktur von $array2 nicht kenne, konnte ich da nichts für Dich tun. Aber ich glaube hiermit kommst Du weiter.

Nachtrag: Ich habe gerade gesehen, dass Du in dem angezeigten $array1 bei dem Key "Wochentag" teilweise Leerzeichen im Value hast: ["Wochentag"]=> string(3) " Di" aber auch : ["Wochentag"]=> string(2) "So".

Damit funktioniert meine if-Abfrage "if ($value['Wochentag'] == $wd1)" nicht! Hier musst Du eventuell in der DB nachbessern.



Meld Dich wenn Du irgendwo hängst.
Gunter
read the manual first

Elim
Beiträge: 5
Registriert: 20. Nov 2015, 11:45

Re: While Schleife rex_sql Klasse

4. Feb 2016, 13:39

So hab es jetzt zum funktionieren gebracht!

Meine Lösung wenn es jemanden Interessiert!

Benötigte Module:
X-Form Table-Manager
2 Tabellen anlegen:

Tabelle 1: rex_standard
Spalten (Datenbank): Wochentag , startzeit, endzeit, bezeichnung, beschreibung

Code: Alles auswählen

$xform->setValueField('select', array("Wochentag","Wochentag","So,Mo,Di,Mi,Do,Fr,Sa"));
$xform->setValueField('time', array("startzeit","Startzeit","05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22","00,15,30,45","###H###.###I### Uhr"));
$xform->setValueField('time', array("endzeit","Endzeit","00,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22","00,15,30,45","###H###.###I### Uhr"));
$xform->setValueField('text', array("bezeichnung","Was"));
$xform->setValueField('textarea', array("beschreibung","Beschreibung"));
Tabelle 2: rex_termine
Spalten (Datenbank): start, ende, was, decription

Code: Alles auswählen

$xform->setValueField('datetime', array("start","Startzeit und Datum","2016","+3","00,15,30,45","","1"));
$xform->setValueField('datetime', array("ende","ende","2016","+3","00,15,30,45","","0"));
$xform->setValueField('text', array("was","Bezeichnung"));
$xform->setValueField('textarea', array("description","Beschreibung"));
Da ich den Kalender mit 2 Monaten ausgebe habe ich dies mit dem Accordion der jQuery UI gemacht.

also fürs Frontend im Headbereich:

Code: Alles auswählen

   <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <script>
  $(function() {
    $( ".acc" ).accordion({
      event: "click hoverintent"
    });
  });
 
  /*
   * hoverIntent | Copyright 2011 Brian Cherne
   * http://cherne.net/brian/resources/jquery.hoverIntent.html
   * modified by the jQuery UI team
   */
  $.event.special.hoverintent = {
    setup: function() {
      $( this ).bind( "mouseover", jQuery.event.special.hoverintent.handler );
    },
    teardown: function() {
      $( this ).unbind( "mouseover", jQuery.event.special.hoverintent.handler );
    },
    handler: function( event ) {
      var currentX, currentY, timeout,
        args = arguments,
        target = $( event.target ),
        previousX = event.pageX,
        previousY = event.pageY;
 
      function track( event ) {
        currentX = event.pageX;
        currentY = event.pageY;
      };
 
      function clear() {
        target
          .unbind( "mousemove", track )
          .unbind( "mouseout", clear );
        clearTimeout( timeout );
      }
 
      function handler() {
        var prop,
          orig = event;
 
        if ( ( Math.abs( previousX - currentX ) +
            Math.abs( previousY - currentY ) ) < 7 ) {
          clear();
 
          event = $.Event( "hoverintent" );
          for ( prop in orig ) {
            if ( !( prop in event ) ) {
              event[ prop ] = orig[ prop ];
            }
          }
          // Prevent accessing the original event since the new event
          // is fired asynchronously and the old event is no longer
          // usable (#6028)
          delete event.originalEvent;
 
          target.trigger( event );
        } else {
          previousX = currentX;
          previousY = currentY;
          timeout = setTimeout( handler, 100 );
        }
      }
 
      timeout = setTimeout( handler, 100 );
      target.bind({
        mousemove: track,
        mouseout: clear
      });
    }
  };
  </script>
fürs Template ( REX_ARTICLE[] eure eigene Artikelnummer):

Code: Alles auswählen

<div class="acc">
                 REX_ARTICLE[]
</div> 
mein CSS:

Code: Alles auswählen

.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { float:left; display:block; min-width: 14%; margin-left:auto; margin-right:auto; min-height:280px;  border:1px solid hsla(240,100%,50%,1); border-radius:6px; margin-top:5px; margin-bottom:5px; position:relative; word-wrap:break-word;}

.cal_top_a, .cal_top_v, .cal_top_s { border-top-left-radius:6px; border-top-right-radius:6px; height:10%; border-bottom:1px solid hsla(240,100%,20%,1); text-align:center; padding-top:5px; font-size:18px; font-weight:bold; width:100%;}

.cal_top_a {background-color:hsla(120,100%,30%,1); color:hsla(0,0%,100%,1);}
.cal_top_s {background-color:hsla(200,100%,30%,1); color:hsla(0,0%,100%,1);}
.cal_top_v {background-color:hsla(0,0%,40%,1); color:hsla(0,0%,80%,1);}

.cal_main { width:100%; height:65%; color:hsla(0,0%,20%,1); position:relative; font-size:80%; padding:2%;}

.cal_standard { width:100%; border-bottom-left-radius:6px; border-bottom-right-radius:6px; height:25%; background-color:hsla(228,100%,50%,0.2); color:hsla(0,0%,20%,1); padding:2%; position:absolute; left:0; bottom:0; font-size:80%;}

.cal_main_fancy { width:100%; height:65%; padding:1%; position:relative;}

.cal_main_fancy span , .cal_standard_fancy span{color:#1883ab;}

.cal_standard_fancy { width:100%; border-bottom-left-radius:6px; border-bottom-right-radius:6px;height:130px; background-color:hsla(228,100%,50%,0.2); position:absolute; left:0; bottom:0; padding:1%;}

.kal_aktueller_tag_fancy, .kal_standard_tag_fancy, .kal_vormonat_tag_fancy { float:left; display:block; min-width: 95%; margin-left:auto; margin-right:auto; min-height:420px;  border:1px solid hsla(240,100%,50%,1); border-radius:6px; margin-top:5px; margin-bottom:5px; position:relative;}

.kal_vormonat_tag .cal_main_fancy, .kal_vormonat_tag .cal_standard_fancy, .kal_vormonat_tag .cal_main, .kal_vormonat_tag .cal_standard { color:hsla(0,0%,40%,1);}

.kal_vormonat_tag {border:1px solid hsla(0,0%,20%,1);}

.kal_vormonat_tag .cal_standard_fancy, .kal_vormonat_tag .cal_standard {background-color:hsla(0,0%,80%,1);}

@media screen and (max-width: 1000px) {
	
	.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:20%;}
	
	}

@media screen and (max-width: 800px) {
	
	.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:25%;}
	
	}
	
@media screen and (max-width: 600px) {
	
	.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:33%;}
	
	}
	
@media screen and (max-width: 500px) {
	
	.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:50%;}
	
	}

@media screen and (max-width: 480px) {
	
	.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:50%;}
	
	}
	
@media screen and (max-width: 320px) {
	
	.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:100%;}
	
	}
Und Schlussendlich das Modul in der Ausgabe (da Eingabe ja über die Tabellen geschehen kann!

Code: Alles auswählen

<?php
//Funktionen etc.
$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');
$trans2 = array ('Mo' => '1','Di' => '2','Mi' => '3','Do' => '4','Fr' => '5','Sa' => '6','So' => '7');
// Where Datetime erstellen
$das = '01'; //erster im Monat -> muss führende null
$mas = date ( 'm' ); //aktueller Monat
$yas = date ( 'Y' ); //aktuelles Jahr
$where = $yas . '-' . $mas . '-' . $das . ' 00:00:00.001'; //alle Termine ab aktuellen Monat
//Datenbank abfragen
$db = rex_sql::factory();
$query1 = "SELECT * FROM `rex_standard`";
$query2 = "SELECT * FROM `rex_termine` WHERE `start` > '$where'";
$array1 = $db->getArray($query1);
$array2 = $db->getArray($query2);

//Kalender Variablen
setlocale ( LC_TIME, "de_DE.utf8" );
$kal_datum = time ();
$kal_tage_gesamt = date ( "t", $kal_datum );
$kal_start_timestamp = mktime ( 0, 0, 0, date ( "n", $kal_datum ), 1, date ( "Y", $kal_datum ) );
$kal_start_tag = date ( "N", $kal_start_timestamp );
$kal_ende_tag = date ( "N", mktime ( 0, 0, 0, date ( "n", $kal_datum ), $kal_tage_gesamt, date ( "Y", $kal_datum ) ) );
//Überschrift
echo '<h3>';
echo strftime ( "%B %Y", $kal_datum );
echo '</h3>';
echo '<div><p>';

for($i = 1; $i <= $kal_tage_gesamt + ($kal_start_tag - 1) + (7 - $kal_ende_tag); $i ++) {
  $kal_anzeige_akt_tag = $i - $kal_start_tag;
  $kal_anzeige_heute_timestamp = strtotime ( $kal_anzeige_akt_tag . " day", $kal_start_timestamp );
  $kal_anzeige_heute_tag = date ( "j", $kal_anzeige_heute_timestamp );
 
  if (date ( "N", $kal_anzeige_heute_timestamp ) == 1)
    echo '    <div class="cal_week">';
 
  if (date ( "dmY", $kal_datum ) == date ( "dmY", $kal_anzeige_heute_timestamp )) {
    $wd1 = date ( "D", $kal_anzeige_heute_timestamp );
    $wd2 = date ( "l ", $kal_anzeige_heute_timestamp );
    $wd3 = date ( " F", $kal_anzeige_heute_timestamp );
    $wd1 = strtr ( $wd1, $trans );
    $wd2 = strtr ( $wd2, $trans );
    $wd3 = strtr ( $wd3, $trans );
   
    echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#a' . $kal_anzeige_heute_tag . '">';
    echo '<div class="kal_aktueller_tag">';
    echo '<div class="cal_top_a">' . $wd1 .' '. $kal_anzeige_heute_tag . '</div>';
    echo '<div class="cal_main">';
    // while 1 Aktuelle Termine
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard">';
    // while 2 Standard Termine
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1) {
        echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
      }
    }
    echo '</div>';
    echo '</div></a>';
    echo '<div style="display:none" id="a' . $kal_anzeige_heute_tag . '">';
    echo '<div class="kal_aktueller_tag_fancy">';
    echo '<div class="cal_top_a">' . $wd2 . $kal_anzeige_heute_tag . $wd3 . '</div>';
    echo '<div class="cal_main_fancy">';
    // while 1 aktueller Termin
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
	  
    }
    echo '</div>';
    echo '<div class="cal_standard_fancy">';
    // while 2 Standardtermin
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
        echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
      }
        if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';        
        }
    }
    echo '</div>';
    echo '</div>';
    echo '</div>';
  }

  elseif ($kal_anzeige_akt_tag >= 0 and $kal_anzeige_akt_tag < $kal_tage_gesamt) {
    $wd1 = date ( "D", $kal_anzeige_heute_timestamp );
    $wd2 = date ( "l ", $kal_anzeige_heute_timestamp );
    $wd3 = date ( " F", $kal_anzeige_heute_timestamp );
    $wd1 = strtr ( $wd1, $trans );
    $wd2 = strtr ( $wd2, $trans );
    $wd3 = strtr ( $wd3, $trans );
   
    echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#a' . $kal_anzeige_heute_tag . '">';
    echo '<div class="kal_standard_tag">';
    echo '<div class="cal_top_s">' . $wd1 .' '. $kal_anzeige_heute_tag . '</div>';
    echo '<div class="cal_main">';
    // while 1 Aktuelle Termine
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard">';
    // while 2 Standard Termine
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1) {
        echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
      }
    }
    echo '</div>';
    echo '</div></a>';
    echo '<div style="display:none" id="a' . $kal_anzeige_heute_tag . '">';
    echo '<div class="kal_standard_tag_fancy">';
    echo '<div class="cal_top_s">' . $wd2 . $kal_anzeige_heute_tag . $wd3 . '</div>';
    echo '<div class="cal_main_fancy">';
    // while 1 aktueller Termin
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard_fancy">';
    // while 2 Standardtermin
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
        echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
      }
        if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';        
        }
    }
    echo '</div>';
    echo '</div>';
    echo '</div>';
  }

  else{
	  $wd1 = date ( "D", $kal_anzeige_heute_timestamp );
    $wd2 = date ( "l ", $kal_anzeige_heute_timestamp );
    $wd3 = date ( " F", $kal_anzeige_heute_timestamp );
    $wd1 = strtr ( $wd1, $trans );
    $wd2 = strtr ( $wd2, $trans );
    $wd3 = strtr ( $wd3, $trans );
   
    echo '';
    echo '<div class="kal_vormonat_tag">';
    echo '<div class="cal_top_v">' . $wd1 .' '. $kal_anzeige_heute_tag . '</div>';
    echo '<div class="cal_main">';
    // while 1 Aktuelle Termine
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard">';
    // while 2 Standard Termine
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1) {
        echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
      }
    }
    echo '</div>';
    echo '</div>';
    echo '<div style="display:none" id="a' . $kal_anzeige_heute_tag . '">';
    echo '<div class="kal_vormonat_tag_fancy">';
    echo '<div class="cal_top_v">' . $wd2 . $kal_anzeige_heute_tag . $wd3 . '</div>';
    echo '<div class="cal_main_fancy">';
    // while 1 aktueller Termin
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard_fancy">';
    // while 2 Standardtermin
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
        echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
      }
        if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';        
        }
    }
    echo '</div>';
    echo '</div>';
    echo '</div>';
	  }
    
 
  if (date ( "N", $kal_anzeige_heute_timestamp ) == 7)
    echo "    </div>";
}

echo '</p></div>';

//nächster Monat *********************************************************************************

$kal_datum3 = time ();
$dtimem = date ('n',$kal_datum3) + 1;
$dtimet = date ('j',$kal_datum3);
$dtimej = date ('Y',$kal_datum3);
$dtimeh = date ('H',$kal_datum3);
$dtimes = date ('i',$kal_datum3);
$kal_datum_n = mktime($dtimeh,$dtimem,0,$dtimem,$dtimet,$dtimej);

$kal_tage_gesamt_n = date ( "t", $kal_datum_n );
$kal_start_timestamp_n = mktime ( 0, 0, 0, date ( "n", $kal_datum_n ), 1, date ( "Y", $kal_datum_n ) );
$kal_start_tag_n = date ( "N", $kal_start_timestamp_n );
$kal_ende_tag_n = date ( "N", mktime ( 0, 0, 0, date ( "n", $kal_datum_n ), $kal_tage_gesamt_n, date ( "Y", $kal_datum_n ) ) );
//Überschrift
echo '<h3>';
echo strftime ( "%B %Y", $kal_datum_n );
echo '</h3>';
echo '<div><p>';

for($i = 1; $i <= $kal_tage_gesamt_n + ($kal_start_tag_n - 1) + (7 - $kal_ende_tag_n); $i ++) {
  $kal_anzeige_akt_tag_n = $i - $kal_start_tag_n;
  $kal_anzeige_heute_timestamp_n = strtotime ( $kal_anzeige_akt_tag_n . " day", $kal_start_timestamp_n );
  $kal_anzeige_heute_tag_n = date ( "j", $kal_anzeige_heute_timestamp_n );
 
  if (date ( "N", $kal_anzeige_heute_timestamp_n ) == 1)
    echo '    <div class="cal_week">';
 
  if (date ( "dmY", $kal_datum_n ) == date ( "dmY", $kal_anzeige_heute_timestamp_n )) {
    $wd1 = date ( "D", $kal_anzeige_heute_timestamp_n );
    $wd2 = date ( "l ", $kal_anzeige_heute_timestamp_n );
    $wd3 = date ( " F", $kal_anzeige_heute_timestamp_n );
    $wd1 = strtr ( $wd1, $trans );
    $wd2 = strtr ( $wd2, $trans );
    $wd3 = strtr ( $wd3, $trans );
   
    echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#an' . $kal_anzeige_heute_tag_n . '">';
    echo '<div class="kal_aktueller_tag">';
    echo '<div class="cal_top_s">' . $wd1 .' '. $kal_anzeige_heute_tag_n . '</div>';
    echo '<div class="cal_main">';
    // while 1 Aktuelle Termine
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard">';
    // while 2 Standard Termine
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1) {
        echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
      }
    }
    echo '</div>';
    echo '</div></a>';
    echo '<div style="display:none" id="an' . $kal_anzeige_heute_tag_n . '">';
    echo '<div class="kal_aktueller_tag_fancy">';
    echo '<div class="cal_top_s">' . $wd2 . $kal_anzeige_heute_tag_n . $wd3 . '</div>';
    echo '<div class="cal_main_fancy">';
    // while 1 aktueller Termin
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard_fancy">';
    // while 2 Standardtermin
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
        echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
      }
        if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';        
        }
    }
    echo '</div>';
    echo '</div>';
    echo '</div>';
  }

  elseif ($kal_anzeige_akt_tag_n >= 0 and $kal_anzeige_akt_tag_n < $kal_tage_gesamt_n) {
    $wd1 = date ( "D", $kal_anzeige_heute_timestamp_n );
    $wd2 = date ( "l ", $kal_anzeige_heute_timestamp_n );
    $wd3 = date ( " F", $kal_anzeige_heute_timestamp_n );
    $wd1 = strtr ( $wd1, $trans );
    $wd2 = strtr ( $wd2, $trans );
    $wd3 = strtr ( $wd3, $trans );
   
    echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#an' . $kal_anzeige_heute_tag_n . '">';
    echo '<div class="kal_standard_tag">';
    echo '<div class="cal_top_s">' . $wd1 .' '. $kal_anzeige_heute_tag_n . '</div>';
    echo '<div class="cal_main">';
    // while 1 Aktuelle Termine
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard">';
    // while 2 Standard Termine
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1) {
        echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
      }
    }
    echo '</div>';
    echo '</div></a>';
    echo '<div style="display:none" id="an' . $kal_anzeige_heute_tag_n . '">';
    echo '<div class="kal_standard_tag_fancy">';
    echo '<div class="cal_top_s">' . $wd2 . $kal_anzeige_heute_tag_n . $wd3 . '</div>';
    echo '<div class="cal_main_fancy">';
    // while 1 aktueller Termin
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard_fancy">';
    // while 2 Standardtermin
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
        echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
      }
        if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';        
        }
    }
    echo '</div>';
    echo '</div>';
    echo '</div>';
  }

  else{
	  $wd1 = date ( "D", $kal_anzeige_heute_timestamp_n );
    $wd2 = date ( "l ", $kal_anzeige_heute_timestamp_n );
    $wd3 = date ( " F", $kal_anzeige_heute_timestamp_n );
    $wd1 = strtr ( $wd1, $trans );
    $wd2 = strtr ( $wd2, $trans );
    $wd3 = strtr ( $wd3, $trans );
   
    echo '';
    echo '<div class="kal_vormonat_tag">';
    echo '<div class="cal_top_v">' . $wd1 .' '. $kal_anzeige_heute_tag_n . '</div>';
    echo '<div class="cal_main">';
    // while 1 Aktuelle Termine
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard">';
    // while 2 Standard Termine
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1) {
        echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
      }
    }
    echo '</div>';
    echo '</div>';
    echo '<div style="display:none" id="an' . $kal_anzeige_heute_tag_n . '">';
    echo '<div class="kal_vormonat_tag_fancy">';
    echo '<div class="cal_top_v">' . $wd2 . $kal_anzeige_heute_tag_n . $wd3 . '</div>';
    echo '<div class="cal_main_fancy">';
    // while 1 aktueller Termin
   foreach ($array2 as $value2) {
	    $start = strtotime($value2['start']); //timestamp erzeugen
		$ende = strtotime($value2['ende']);  //timestamp erzeugen 
		
      if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
        if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
        echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
      }
    }
    echo '</div>';
    echo '<div class="cal_standard_fancy">';
    // while 2 Standardtermin
    foreach ($array1 as $value) {
      if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
        echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
      }
        if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';        
        }
    }
    echo '</div>';
    echo '</div>';
    echo '</div>';
	  }
    
 
  if (date ( "N", $kal_anzeige_heute_timestamp_n ) == 7)
    echo "    </div>";
}

echo '</p></div>';
?>
Ich hoffe es hilft weiter!

PS: Ich weiss man kann vieles besser und einfacher machen, aber mit eurer Hilfe und meinen Mittel funktioniert es!

Danke

Zurück zu „Allgemeines [R4]“