komisches Problem

Peer-Mario

B1G-Software-Kunde
#1
Hallo,

ich lese aus einer Datenbank Werte aus.

Die Datenbank liefert mir 5 Zeilen zurück was auch ok ist.

gegeben sei : zeile - wert1;wert2

1 - 09;12
2 - 15,18
3 - 12;15
4 - 18;21
5 - 21;00


Nach jeder dieser Zeilen erfolgt folgende Abfrage:

if( (14 >= wert1 ) AND (14 <= wert2)) {
gebe mir die zeile zurück
}

Eigenartiger Weise gibt mir diese If-Anweisung die Zeilen 2, 3 und 4 zurück.
Eigentlich sollte nur die Zeile 3 geliefert werden.

Hat jemand eine Idee ??

Gruß Peer-Mario
 

Peer-Mario

B1G-Software-Kunde
#3
Hallo Patrick,

noch zur Erklärung.

Feld dj_time ist varchar(5);
dj_time werte sind 09-12 , 12-15, 15-18, 18-21, 21-00, 00-02

Die Werte, die jeweils in t_1 und t_2 stehen, stimmen.
Insgesamt holt das SQL-Statement 6 Zeilen für den Sonnabend (was auch richtig ist).

$dh steht jetzt auf 14 (fixwert um zu testen).

Die IF-Abfrage liefert dann drei Zeilen und das kann ich nicht verstehen : Augabe sieht dann so aus:

tester sonnabend 15 18 aktuelle stunde = 14
tester1 sonnabend 12 15 aktuelle stunde = 14
tester2 sonnabend 18 21 aktuelle stunde = 14

Eigentlich sollte nur die mittlere Zeile ausgegeben werden.

PHP:
  $sql -> db_Select("dj_sendung", "*", "dj_day='$datum[weekday]' AND dj_kw='$kw'");
  while ($row = $sql -> db_Fetch()) {
    $t_1 = substr($row['dj_time'],0,2);
    $t_2 = substr($row['dj_time'],3,2);
 
    if(($dh >= $_t1) && ($dh <= $t_2)){        
      echo $row['dj_name']." ".$row['dj_day']." ".$t_1." ".$t_2." aktuelle stunde = ".$dh."<br /><br />";
    }
  }
Gruß Peer
 
Top