Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
schon wieder so ein AND/OR problem... [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
schon wieder so ein AND/OR problem...


 
Metallica
22-01-2002, 15:09 
 
Hi nochmal!

diesmal ist's aber kein logischer denkfehler.
ich will die summe in einem von-bis-Zeitraum ermitteln.
die variablen $itcvon und $itcbis bekomme ich von flash in form von 2002-01-05 und 2002-01-20. also genau so wie das datum in der DB steht.
das funtzt auch soweit.

wenn ich jetzt allerdings absichtlich einen zeitraum angebe wo gar nichts in der DB stehen kann (zB 2000-01-01/2000-01-05) dann kommt bei der summe nicht Null, sondern immer 300 => keine ahnung wo sql die 300 hernimmt.
Das passiert wie gesagt wenn ich den Befehl mit OR wie folgt mache:
$itcaczr = mysql_query("SELECT SUM(PAYmm) AS summe FROM tabelle WHERE DATEmm >= '$itcvon' AND DATEmm <= '$itcbis' AND STATUSmm = 'itc' OR STATUSmm = 'itcDemo'");
$itcaczr2 = mysql_fetch_array($itcaczr);
$itcaczr3 = $itcaczr2[summe];

=> und jetzt kommtst: wenn ich den befehl jetzt mit AND wie folgt mache:
$itcaczr = mysql_query("SELECT SUM(PAYmm) AS summe FROM tabelle WHERE DATEmm >= '$itcvon' AND DATEmm <= '$itcbis' AND STATUSmm = 'itc' AND STATUSmm = 'itcDemo'");
$itcaczr2 = mysql_fetch_array($itcaczr);
$itcaczr3 = $itcaczr2[summe];
=> dann funktionierts. sprich dann gibt sql bei der summe wirklich Null zurück.
wenn ich mit diesem befehl allerdings dann wieder einen vernünftigen zeitraum angebe (wo DS in der DB drinnen sind) dann ist die Summe wieder Null obwohl sie zB 1200 sein müßte.
wie ist das zu erklären??

 
JoelH
22-01-2002, 15:44 
 
hab ich es dir nicht schonmal gepostet ? OR ist , entgegen jeder Logik, bei MySQL stärker wie AND, sprich es wird erst die OR Bedingugn abgearbeitet dann die ANDs. Dass das mit nur ANDs 0 sein ist klar, hatten wir ja im letzten Thread.
Naja und zur ersten kann ich nix sagen weil ich die Datensätze nicht kenne.

 
schmalle
22-01-2002, 15:54 
 
ich meine den seltsamen query "verstanden" zu haben. so unwahrscheinlich das auch ist bei metallicas fragen :D :D



("SELECT SUM(PAYmm) AS summe FROM tabelle WHERE (DATEmm >= '$itcvon' AND DATEmm <= '$itcbis') AND (STATUSmm = 'itc' OR STATUSmm = 'itcDemo')");



weil metallica will ja einen datensatz der 1. zwischen $itcvon und $itcbis liegt, und zweitens bei STATUSmm den wert itc oder itcDEMO aufweist. richtig?

ich bin genial :D

 
Metallica
22-01-2002, 16:22 
 
wow, schmalle. was soll ich sagen ausser dass es funtzt:) und du (fast:)) der beste bist.

DANKE!!!

 
schmalle
22-01-2002, 16:31 
 
wer ist hier besser als ich???? :D :D :D

 
Metallica
22-01-2002, 16:33 
 
hey du eingebildeter lümmel:)
ihr seid alle gleich super => jetzt besser!!:)

 
schmalle
22-01-2002, 16:48 
 
hihi, ich weiss ja, dass ich bei weitem nicht der beste bin. aber ich muss es doch mal ausnutzen wenn joey die antwort nicht wusste :D :D

 
Metallica
22-01-2002, 18:28 
 
so gesehen haste auch wieder recht.
:)


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:54 Uhr.