Frage von schooln00b77, 13

Code Live check Zeitraum?

Hallo Ich bin zu doof darfür, deshalb wär es meega cool wenn einer mir den Code senden kann. also: Ich habe in einer MySQL Datenbank 2 einträge (einmal von und einmal bis) beide im Format dd/mm/yy. Der Benutzer hat einen jQuery UI Kalender (https://jqueryui.com/datepicker/#date-range) und wählt da den gewünschten Zeitraum aus.

Jetzt die Frage: Ich muss gucken, ob sich die Gewählten Daten überschneiden. Das Ergebnis soll via ajax angezeigt werden (Zeitraum frei! / Zeitraum belegt,)

Wäre echt cool, weil ich stehe auf dem Schlauch.

Danke im Vorraus :)

Antwort
von mastema666, 4

Also ein fertiges System kann ich dir hier nicht anbieten, aber vielleicht hilft dir das ja schon weiter:

Du hast 2 Daten in der DB und 2, die überprüft werden sollen, ob diese sich überschneiden, das heisst, du müsstest eigentlich nur prüfen, ob eines der beiden vom User gewählten Daten zwischen denen in der DB liegt (denn dann würden sich die Zeiträume ja überschneiden). 

Sinnvoll wäre es dafür die Daten nicht als dd/mm/yy zu speichern, sondern als Y-m-d (Standard-Datumsformat von MySQL), denn das macht dir da vieles einfacher, du kannst es dann ungefähr so abfragen:

SELECT start FROM tabelle 
    WHERE 
      (start < '2016-10-08' AND ende > '2016-10-08') 
    OR 
      (start < '2016-10-10' AND ende > '2016-10-10');

Dabei wäre jetzt halt '2016-10-08' das vom User übergebene Startdatum und '2016-10-10' das Enddatum, sowie start/ende die entsprechenden Felder in der DB, wenn dieses Query einen Datensatz als Ergebnis liefert weißt du dann, dass sich die Daten überschneiden.

Noch einfacher ginge es unter Umständen wenn du die Daten direkt in "DATE" Feldern speicherst, dann gäbe es nämlich auch noch einige interne Datumsfunktionen von MySQL, die du ggf nutzen könntest (für dieses Beispiel jetzt nicht unbedingt nötig, aber wenn man umfangreicher mit solchen Daten arbeiten will erleichtert es einiges).

Wenn du unbedingt einen komplett fertigen Code brauchst, würde ich vorschlagen du postest dein Problem mal auf http://www.php.de in der Kategorie "Scriptbörse", die ist genau für so etwas gedacht und du findest bestimmt jemanden, der dir das programmiert (wenn auch wahrscheinlich nicht ganz kostenlos, aber in der Regel recht günstig).

Keine passende Antwort gefunden?

Fragen Sie die Community