das verwende ich in dem code schon - leider funzt das nicht wie gewünscht, wie ja in dem dropdownfeld immer ein wert drin steht
problem bei auswertung der formulardaten
Einklappen
X
-
ich habe es nun anders gemacht - vermutlich etwas zu kompliziert - aber anders kann ich es halt nicht
im dropdownfeld habe ich als weiteren listenwert "alle" eingeführt
ich frage nun folgendes ab
PHP-Code:if ($_POST['selectm'] != "alle")
{
if (isset($_POST['selectm']) AND ! empty($_POST['selectm']))
$where[] = " MONTHNAME(contract_lfz) = " . mysql_escape_string($_POST['selectm']) . "";
}
Kommentar
-
Original geschrieben von jhaustein
das verwende ich in dem code schon - leider funzt das nicht wie gewünscht, wie ja in dem dropdownfeld immer ein wert drin stehtIch denke, also bin ich. - Einige sind trotzdem...
Kommentar
-
hallo gemeinschaft
was ist an diesem ausdruck falsch?
$where[] = " contract_lfz >= '" . mysql_escape_string($_POST
['selecty'].$_POST['selectq']). "' and contract_lfz <= 'DATE_ADD($_POST
['selecty'].$_POST['selectq'], Interval 3 month)'";
das ist die fehlermeldung
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xxamp\xampp\htdocs\test\summe.php on line 71
wenn ich anstelle
'DATE_ADD($_POST['selecty'].$_POST['selectq'], Interval 3 month)'
'2005-09-01' eintrage, dann klappt es
aus selectq kommt -01-01
aus selecty kommt 2004
nun habe ich es mal den oberen term abgeändert in
$sql .= " and contract_lfz <= DATE_ADD('". mysql_escape_string($_POST
['selecty'].$_POST['selectq'], Interval 3 month)."')";
nun bekomme ich diese meldung
Parse error: parse error, unexpected T_LNUMBER in
C:\xxamp\xampp\htdocs\test\summe.php on line 82
Zuletzt geändert von jhaustein; 14.12.2004, 10:52.
Kommentar
-
Ist zwar sehr löblich, daß Du die Keynamen alle in Quotes einschliesst, aber wenn Du innerhalb von Quotes nochmal Quotes verwendest, dann wird der Interpreter auch nur bis zum ersten Auftreten der Quotes Dein Konstrukt interpretieren und Schwierigkeiten haben, das was danach folgt richtig einzuordenen.
PHP-Code:'DATE_ADD($_POST['selecty'].$_POST['selectq'], Interval 3 month)'
PHP-Code:'DATE_ADD(".$_POST['selecty'].$_POST['selectq'].", Interval 3 month)'
Happiness is an empty error log
Kommentar
-
hi
ich habe die abfrage mir nun anzeigen lassen
das steht nun da
SELECT MONTHNAME(contract_lfz) as month, left(contract_lfz, 4) as
year,SUM(contract_summe) as summe FROM contract WHERE left
(contract_lfz, 4) = 2005 AND contract_lfz >= '2005-10-01' and contract_lfz
<= 'DATE_ADD(2005-10-01, Interval 3 month)' group by contract_lfz
leider zeigt er kein ergebnis an, obwohl dort welche sind
Kommentar
-
Original geschrieben von jhaustein
contract_lfz
<= 'DATE_ADD(2005-10-01, Interval 3 month)'
Du machst immer noch die gleichen sachen falsch...Ich denke, also bin ich. - Einige sind trotzdem...
Kommentar
-
Da war ja noch ein Fehler um den Fehler herum. Das ganze Konstrukt sollte so aussehen:
PHP-Code:$where[] = " contract_lfz >= '" . mysql_escape_string($_POST
['selecty'].$_POST['selectq']). "' AND contract_lfz <= DATE_ADD(".$_POST
['selecty'].$_POST['selectq'].", Interval 3 month)";
Happiness is an empty error log
Kommentar
-
hi vielen dank für deine mühe - jetzt ist das die abfrage - aber leider kein ergebnis
SELECT MONTHNAME(contract_lfz) as month, left(contract_lfz, 4) as
year,SUM(contract_summe) as summe FROM contract WHERE left
(contract_lfz, 4) = 2005 AND contract_lfz >= '2005-10-01' AND contract_lfz <= DATE_ADD(2005-10-01, Interval 3 month) group by contract_lfz
Kommentar
-
Wird wohl mal Zeit, in die MySQL-Anleitung bezüglich Quotes zu schauen.
PHP-Code:DATE_ADD(2005-10-01, Interval 3 month)
PHP-Code:DATE_ADD('2005-10-01', Interval 3 month)
Das Datum muß als String übergeben werden, aber das solltest Du nach dem 5-seitigen Grundkurs hier im Forum selbst hinbekommen.Happiness is an empty error log
Kommentar
Kommentar