Antworten
Zitat:
$sql = "INSERT INTO tabelle VALUES ('".$_POST['wert1']."','".$_POST.....)"; und so weiter. Damit steht in der DB aber am Ende nicht NULL, egal was für if Abfragen ich vorher versuche.
Eben nicht egal welche if da vorher stehen.
Zeig mal was du bisher gemacht hast...
So schwer ists ja nicht ;)
Ein kleiner Tipp:
[doc]empty[/doc]
2.
Nuja bei den Select-Felder musst du wohl oder übel einen 'leer' Wert definieren, wenn dieser dann übertragen wird solltest du in deinen Insert eben ein NULL (ohne ' !) eintragen (oder komplett weglassen.
Hast du in den enstrechenden Spalten auch NULL erlaubt?
3.
Zitat:
Nuja bei den Select-Felder musst du wohl oder übel einen 'leer' Wert definieren
Wozu das denn?
[doc]isset[/doc]
4.
Genau das ist mein Problem. Damit er wirklich NULL einträgt, muss in der INSERT Anweisung ...,NULL,... stehen, und nicht sowas wie $_POST['leereVariable'] oder $leereVariable. Denn dann trägt er nicht NULL ein.
Worauf froggy glaube ich hinaus will, und dazu habe ich mal was im Internet gefunden aber nicht verstanden, ist die Nutzung der isset Funktion direkt im SQL query. KAnnst du mir genauere Informationen geben, wie ich die dort verwende?
Dennoch brauche ich ja ein Leerauswahlfeld im select, denn der Nutzer muss ja irgendwo "nichts" auswählen können?!
5.
Mann mann mann....
Code: In Zwischenablage kopieren (nur IE)
oder einfacher
Code: In Zwischenablage kopieren (nur IE)
6.
Die untere Variante habe ich getestet, aber das macht er nicht. Grund könnte sein, dass zwei davon Integer Variablen sind.
isset geht ebenfalls nicht, da er beim Leerfeld ( <option></option> ) scheinbar irgendwas drin hat, isset ist in dem Fall also true. Derzeit habe ich es mit festen Werten für das Leerfeld und einer switchabfrage gelöst, ergibt aber bei 3 möglichen NULL Werten 7 SQL query :(
7.
Nimm Foggys 2. Variante und erweitere sie:
Code: In Zwischenablage kopieren (nur IE)
Dann hast du nur eine SQL-Anweisung und alle darin verwendeten Variablen sollten einen vernünftigen Wert haben.
Und wenn deine SQL-Anweisung nicht ausgeführt werden kann, hilft dir
[doc]mysql_error[/doc]
8.
$sql = "INSERT INTO tabelle VALUES ('".$sowieso."')";
Wenn $sowieso hier "NULL" ist, trägt er dennoch nicht NULL ein.
9.
Hast du NULL überhaupt erlaubt? Was trägt er dann ein?
Zitat:
da er beim Leerfeld ( <option></option> ) scheinbar irgendwas drin hat, isset ist in dem Fall also true.
Wie wärs wenn du selbst einwenig mitdenkst, und die im Post 001 genannte funktion benützt??!
[doc]empty[/doc]
10.
So weit habe ich bereits gedacht... es ändert aber nichts an meinem Problem.
isset($_POST['wert1']) ? $_POST['wert1'] : "NULL"."
Wenn mir den Teil jemand erklären könnte (was ist das vor und hinter dem ?, was grenzt der : ab), wäre ich dankbar. Ich habe dazu leider bisher keine "default" Erklärung gefunden.
11.
Steht aber im Handbuch bei den Operatoren.
12.
ist eine abgekürzte version des if-else konstrukts.
alternative Syntax für KontrollstrukturenEDIT: sorry, falscher Link...mag grad nich weitersuchen....findest es bestimmt selbst.
13.
Habs gefunden, danke dir Oliver Albers
14.
eigentlich ists so richtig:
Code: In Zwischenablage kopieren (nur IE)