You are not logged in.

  • Login

1

Wednesday, May 20th 2009, 8:52pm

Per Checkbox SQL Statement

Guten Abend,

wollte mal allgemein Fragen, wie man ein SQL Statement per Checkboxen modifizieren kann.
Konkret sieht das so aus, dass ich ein Select Befehl habe, und via Checkboxen Bedingungen stelle.
Gedacht habe ich mir etwa sowas (Pseudocode):

Quoted


sql = " Select * from arbeit"
if checkbox_anwesend.isSelected{
sql += "Where anwesend = true"
}


ansich ja okay. Ich konkateniere einfach das eigentliche Statement mit den where-Klauseln.

Aaaaber: was ist mit der Reihenfolge?
woher weiß ich, dass beim ersten Haken eine "where" dazu kommt und beim 2. zb ein "AND" ?

Hoffe ihr versteht mich?! :)


Danke

//edit:
achso, es würde sich um java handeln, falls das jemandem die Hilfe erleichtert

This post has been edited 1 times, last edit by "kingele" (May 20th 2009, 9:16pm)


2

Wednesday, May 20th 2009, 9:35pm

Ich konkateniere einfach das eigentliche Statement mit den where-Klauseln.

Naja, das ist auf jeden Fall ein Java Thema. Du musst in deiner Programmiersprache einen String zusammenbauen und diesen an den SQL Socket senden.

Zu deinem AND und WHERE Problem.
Ich würde dir empfehlen alle Einschränkungen in einem Array zu sammeln und am Ende mit einer Join Methode wieder zusammenzufügen.
Siehe http://raw.jpevans.com/software/javas/si…ng/Strings.html

Java Quellcode

1
2
String[] x = {"a = b", "b = a"};
String y = " WHERE " . x.join(" AND ");


Das selbe benötigst du bei Join-Tabellen, Join-Bedingungen, ...

3

Wednesday, May 20th 2009, 9:44pm

Also mit dem ganzen Javakram hab ich eher nicht sone Probleme.
Mir ging es halt eher um das Theoretische, wie ich bei zB. 5 Checkboxen den Code generiere, wenn 3 davon aktiv sind.

Leider bringt mich deine Arraytheorie auch nicht so wirklich weiter. könntest du das vielleicht näher erleutern?


Danke

4

Wednesday, May 20th 2009, 11:21pm

Also mit dem ganzen Javakram hab ich eher nicht sone Probleme.
Mir ging es halt eher um das Theoretische, wie ich bei zB. 5 Checkboxen den Code generiere, wenn 3 davon aktiv sind.

Leider bringt mich deine Arraytheorie auch nicht so wirklich weiter. könntest du das vielleicht näher erleutern?


Danke


Ich denke mal, D0nut möchte dir vermitteln dass du dass Array je nach ausgewählter checkbox erweiterst :)
So bastelst du dir halt den SQL-String zusammen.

5

Saturday, May 30th 2009, 2:25pm

Okay,
ich verstehe.
Aber worin liegt der Unterschied zwischen null und false bei einer Checkbox?
Die Dinger sollen ja optional bedienbar sein.

Sorry für das späte antworten

//edit: mhh.. ich sitzt zwar gerade nicht davor, aber ich kann doch erstmal die Variable mit null initialisieren und dann sagen, dass er sie auf true oder false setzen soll. falls er am ende immernoch null ist, soll die checkbox garnicht erst aufgenommen werden...

//edit: nein, das ergibt kein Sinn ... ;)

This post has been edited 2 times, last edit by "kingele" (May 30th 2009, 6:07pm)


6

Sunday, May 31st 2009, 10:44am

Also wenn Checkboxen nicht angekreuzt werden, dann existiert die $_POST Variable nicht.
Wenn sie aktiviert ist, kann sie immer noch den Value 0/false besitzen. Beides ist also prinzipiell zu unterscheiden.
Lg

7

Sunday, May 31st 2009, 11:10am

Hey D0nut,
mal abgesehen vom eigentlichen Problem, welches ich durch eine Umstrukturierung gelöst habe:
wer setzt eine Checkbox zuerst auf true und dann auf false?
Wenn ich eine Checkbox nicht aktiviert haben will, lasse ich sie einfach in ihrem Normalzustand.

Ich hatte auch zuerst überlegt einfach eine On-Fokus Event "drauf" zu legen, aber das hätte ja das eigentliche Problem nicht gelöst.

Oder verstehe ich dich gerade nicht?

8

Monday, June 1st 2009, 3:04pm

Naja, besteht denn überhaupt noch ein Problem?
Ich wollte nur auf deine Frage zum Unterschied zwischen null und false eingehen. Und auch auf die Unterscheidung zwischen 3 Werten.
"erstmal die Variable mit null initialisieren und dann sagen, dass er sie auf true oder false setzen soll"

Wie gesagt, wenn die Checkbox nicht angehakt wird, dann wird gar kein Value übertragen... als wenn das Feld nicht existieren würde.

9

Monday, June 1st 2009, 5:37pm

Hallo D0nut.

erstmal Danke fürs Antworten. Ich habe schon verstanden, worauf du hinaus wolltest.
Ich wollte nur gucken, ob ichs verstanden habe, weil in den meisten Fällen ist Null = false, oder?
wie gesagt, wenn ich eine Checkbox auf false setzen will, belasse ich sie doch im "Urzustand" (also ohne Haken) und setze sie nicht erstmal auf True und dann wieder auf false.


Problem ist eigentlich gelöst. ich habe einfach die optionalen Felder zu Pflichfeldern gemacht ;)


Danke

Social bookmarks