Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Berechnung innerhalb einer MySql Abfrage

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Berechnung innerhalb einer MySql Abfrage

    Hallo,
    ich arbeite an einer Art Terminplaner (php), der mir aus einer Sql Datenbank Termine in einer Wochenübersicht (Montag bis Sonntag) darstellt.

    Dazu habe u.a. ich eine Tabelle "termin_range" in der Abonnements stehen, die bisher wöchentlich stattgefunden haben, beginnend am Startdatum (st_date) bis zum Enddatum (ed_date). Dabei legt das st_date den Wochentag automatisch fest.
    Die Abfrage lautete dafür bislang folgendermaßen:
    PHP-Code:
    $req_tr mysql_query("SELECT * FROM termin_range WHERE id_court='$id_court' AND st_date<='$date' AND ed_date>='$date' AND st_time='$time' AND wotag='$z'"); 
    Dabei sind $date, $time, $z und $id_court gegeben.
    Das funktioniert soweit auch prima.

    Nun möchte allerdings den Abos ermöglichen wöchentlich, 14-tägig, alle drei und alle vier Wochen stattzufinden. Dafür habe ich an die Tabelle "termin_range" ein Spalte "delta_wo" hinzugefügt, in der per 1, 2, 3 oder 4 diese Information mitgegeben wird.
    Damit ich nun meinen 270 Zeilen langen PHP Code, der mir die Wochenübersicht erstellt, nicht komplett über den Haufen werfen muss habe ich mir folgende neu Abfrage überlegt:
    PHP-Code:
    $req_tr mysql_query("SELECT * FROM termin_range WHERE ABS(UNIX_TIMESTAMP('$date') - UNIX_TIMESTAMP(st_date)) % (delta_wo * 7 * 24 * 3600) = 0 AND id_court='$id_court' AND st_date<='$date' AND ed_date>='$date' AND st_time='$time' AND wotag='$z'"); 
    Es soll also zusätzlich geprüft werden, ob die Differenz aus aktuellem Datum und Datenbankdatum geteilt durch den Wochentakt ohne Rest aufgeht. Von der Logik her müsste das soweit passen. Allerdings erhalte ich kein Ergebnis.

    Sieht jemand einen Fehler??

    Vielen Dank
Lädt...
X