Daten vergleichen

  • Hallo,

    ich habe gerade ein kleines kreatives Problem. Ich möchte 2 vorhandene Timestamps aus der Datenbank mit 2 Timestamps aus einen Formular vergleichen.

    Als Ergebnis soll der Datensatz gezogen werden, wo Die Daten aus den Formularfeldern zwischen den aus der Datenbank liegen.

    Beispiel Eingabe im Formular:
    Von: 15.05
    Bis: 03.06

    Die Eingabe im Formular sieht z.B. so aus: 03-05-2010
    Ich formatiere das ganze dann mit

    PHP
    $von = "03-05-2010";
    $format = str_replace("-", ",", "$von");
    $array_format = explode(",", $format);
    $mktime_von = mktime(0,0,0, $array_format_[4], $array_format_[3],0);

    Die Daten werden auch so in die Datenbankgeschrieben, also vom Aufbau des Timestamps sind die Eingaben im Formular und in der DB gleich.

    In der Datenbank sind verschiedene Werte (Daten sind real im Timestamp format!!):
    ID|HID| Von | Bis | wert
    1 | 3 | 01.05 | 30.06 | 10
    2 | 3 | 01.07 | 18.07 | 20
    3 | 4 | 14.05 | 15.06 | 30

    Bisher versuche ich folgendes:

    Problem ist erstes, dass nicht ID1, sondern in diesem Beispiel würde ID2 ausgewählt. Außerdem wird auch ID3 angezeigt, obwohl der 14.05 hinter dem 15.05 (wie ausgewählt liegt).

    Versteht ihr was ich meine und möchte? Sonst muss ich noch paar Erklräungen mehr abgeben. Wäre klasse, wenn es ne einfache und schnelle Lösung geben würde.

  • mhm, ich glaube ich habe es^^
    Das ich das alles hier nochmal zusammengefasst habe, hat bisschen geholfen.

    PHP
    $data = $db->singleQuery("
      SELECT wert FROM session 
      WHERE HID='".$id."' 
      AND von <= '".$mktime_von_."' 
      AND bis >= '".$mktime_von_."'
      AND bis >= '".$mktime_bis_."'
      ");

    Auf dem ersten Blick scheint es zu funktionieren. :)