Zur Navigation

Verwendung von ">=" in Datenbankabfrage [6]

51 andehrl

... , dass auch an den Folgetagen nur Datensätze ab 14:05 angezeigt werden.

genau das möchte ich.



habe den fehler in meinem code behoben. bekomme leider nach wie vor einfach jede uhrzeit angezeigt:

$query_R1 .= " zeit >= '" . sprintf("%02d-%02d", $_POST['stunde'], $_POST['minute']) . "' AND ";

29.09.2010 21:04

52 Jörg Kruse

Hm, "%02d-%02d" ist auch noch nicht korrekt - bei Uhrzeiten ist ja der Doppelpunkt das Trennzeichen: "%02d:%02d"; wenn es dann noch nicht funktioniert, würde ich auch noch die Sekunden mit reinpacken: "%02d:%02d:00"

29.09.2010 21:20

53 andehrl

der doppelpunkt wars. jetzt funktioniert es :-). die sekunden brauchts nicht.

29.09.2010 21:34

54 andehrl

hab hier noch eine frage
du hast mir in einem beitrag für die datenabfrage diesen code gezeigt:

if (isset($_POST['rueckfahrtladeflaeche']) && $_POST['rueckfahrtladeflaeche'] != 'K.A. zur Ladefläche') {
    $query_R1 .= " rueckfahrtladeflaeche = " . GetSQLValueString($_POST['rueckfahrtladeflaeche'], 'text') . " AND ";
}

wenn ich den code wie unten verändere, bekomme ich dann bei einer abfrage neben dem gesuchten wert auch die datensätze in denen "K.A. zur Ladefläche" in der datenbank hinterlegt wurde angezeigt.

if (isset($_POST['rueckfahrtladeflaeche']) && $_POST['rueckfahrtladeflaeche'] != 'K.A. zur Ladefläche') {
    $query_R1 .= " rueckfahrtladeflaeche = " . GetSQLValueString($_POST['rueckfahrtladeflaeche'], 'text') . " OR rueckfahrtladeflaeche Like 'K.A. zur Ladefläche') AND ";
}

und wenn ja, werden die ergebnisse dann alphabetisch geordnet? zb absteigend:

laderaumfläche voll
laderaumfläche voll
K.A. zur Ladefläche
K.A. zur Ladefläche

30.09.2010 20:04

55 Jörg Kruse

Zitat von andehrl
wenn ich den code wie unten verändere, bekomme ich dann bei einer abfrage neben dem gesuchten wert auch die datensätze in denen "K.A. zur Ladefläche" in der datenbank hinterlegt wurde angezeigt.

if (isset($_POST['rueckfahrtladeflaeche']) && $_POST['rueckfahrtladeflaeche'] != 'K.A. zur Ladefläche') {
    $query_R1 .= " rueckfahrtladeflaeche = " . GetSQLValueString($_POST['rueckfahrtladeflaeche'], 'text') . " OR rueckfahrtladeflaeche Like 'K.A. zur Ladefläche') AND ";
}

Ja - allerdings fehlt in deinem Code noch eine öffnende Klammer

und wenn ja, werden die ergebnisse dann alphabetisch geordnet? zb absteigend:

laderaumfläche voll
laderaumfläche voll
K.A. zur Ladefläche
K.A. zur Ladefläche

Das kannst du mit einem "ORDER BY" Statement regeln, welches du an das Ende der Query anschließt

ORDER BY rueckfahrtladeflaeche DESC

30.09.2010 20:47

56 andehrl

if (isset($_POST['rueckfahrtladeflaeche']) && $_POST['rueckfahrtladeflaeche'] != 'K.A. zur Ladefläche') {
    $query_R1 .= " rueckfahrtladeflaeche = " . GetSQLValueString($_POST['rueckfahrtladeflaeche'], 'text') . " OR rueckfahrtladeflaeche Like 'K.A. zur Ladefläche') AND ";
}


Ja - allerdings fehlt in deinem Code noch eine öffnende Klammer

sorry ich sehs nicht. wo fehlt die klammer denn?

30.09.2010 20:53

57 Jörg Kruse

Das resultierende SQL muss an der Stelle so ausschauen:

(rueckfahrtladeflaeche = 'irgendeine Angabe' OR rueckfahrtladeflaeche Like 'K.A. zur Ladefläche')
AND
/* nächstes Bedingungspaar */

Man muss hier so klammern, damit die Datenbank weiß, in welcher Reihenfolge sie die Bedingungen (mit OR bzw. AND) verknüpfen muss

30.09.2010 21:11 | geändert: 30.09.2010 21:11

58 andehrl

also muss hier der anfang stehen?

if (isset($_POST['rueckfahrtladeflaeche']) && $_POST['rueckfahrtladeflaeche'] != 'K.A. zur Ladefläche') {
    $query_R1 .= (" rueckfahrtladeflaeche = " . GetSQLValueString($_POST['rueckfahrtladeflaeche'], 'text') . " OR rueckfahrtladeflaeche Like 'K.A. zur Ladefläche') AND ";
}

30.09.2010 21:25

60 andehrl

sorry hab den text gelöscht hat sich erübrigt.

30.09.2010 21:45 | geändert: 30.09.2010 21:48