Select-Abfrage MYSQL where checkbox = 1
Janosch
- php
0 Ilja0 Janosch0 Thomas Luethi0 Ilja
0 Tom0 Thomas Luethi
hallo,
wenn der checkhaken bei einem eintrag gestezt wurde soll er ausgegeben werden. so hab ich es probiert:
$db->query("SELECT name FROM $k_table WHERE antwort LIKE '1' ");
ging nicht was gibt ein checkhaken zurück wenn er angekreuzt ist und was wenn nicht.
janosch
hi,
wenn der checkhaken bei einem eintrag gestezt wurde soll er ausgegeben werden. so hab ich es probiert:
$db->query("SELECT name FROM $k_table WHERE antwort LIKE '1' ");
ging nicht was gibt ein checkhaken zurück wenn er angekreuzt ist und was wenn nicht.
geht auch nicht. die WHERE bedingung hat nichts mit checkboxen zu tun, sondern bezieht sich nur auf die datensätze der tabelle. das problem musst du anders lösen, indem du mit der checkbox einen wert verknüpfen kannst, der den datensatz(datensätze), den du haben willst auch eindeutig identifiziert.
Ilja
ich schreibe folgendes in die DB:
<input name="ANTWORT" type="checkbox" value="1" <? if ($db->f("antwort")==1) print("checked") ?> >
deshalb: WHERE antwort LIKE '1'
oder antwort LIKE 'checked'?
janosch
Hallo,
ich schreibe folgendes in die DB:
<input name="ANTWORT" type="checkbox" value="1" <? if ($db->f("antwort")==1) print("checked") ?> >
Ich habe das Gefuehl, Du weisst nicht, was Du tust.
Ueberlege nochmals Schritt fuer Schritt, was das Ziel ist.
Und gehe auch Schritt fuer Schritt vor.
1. Schauen, ob in der Datenbank ein bestimmtes Feld
vorhanden ist oder einen bestimmten Wert hat.
2. Wenn ja, den String $checked setzen:
$checked=" checked='checked'";
3. Den String fuer das INPUT-Feld ausgeben:
print("<input name='ANTWORT' type='checkbox' $checked value='1'>");
---
$db->f()
und andere Dinge, die irgendwelche proprietaeren Funktionen
und Klassen verwenden, helfen uns hier nicht weiter.
Das einzige, was verstaendlich und analysierbar ist, sind
vollstaendige Querys:
"SELECT *bla* FROM Tabelle WHERE ab=xy"
Wie Du sie zusammenbaust und wie Du sie an die DB
uebergibst, ist sekundaer.
Des weiteren sollten wir wissen
Gruesse,
Thomas
hi janosch,
grundsätzlich sind die datenbank und das formular zwei verschiedene paar schuhe und du versuchst beides in einen topf zu schmeißen. mit anderen worten, versuch erst einmal die datenbank aussen vor zu lassen und kümmer dich um das formular.
bei dir hat das input feld den bezeichner "antwort". unter php (ich gehe mal davon aus, dass du das benutzt) kannst du dann überprüfen, ob der wert 1 oder 0 ist, was du ja auch schon gemacht hast.
und dann kommt erst die datenbank ins spiel. was soll den geschehen, wenn der wert 1 ist, bzw, wenn der wert 0 ist ?
Ilja
Hello,
wo gibt eine checkbox was zurück?
Meint Du im Formular?
Da wird name="chk" value="xyz" als Name:Value Paar übermittelt, wenn der Haken gesetzt war.
Was in die Datgenbank eintragen wurde, das entscheidet das insert-Statement. Kommt darauf an, was Du da als Wert angegeben hast.
Grüße
Tom
Hallo,
$db->query("SELECT name FROM $k_table WHERE antwort LIKE '1' ");
Warum sagst Du "LIKE", wenn Du "=" meinst?
Und Du uebernimmst doch hoffentlich nicht einen Wert
direkt aus dem Formular in die MySQL-Query?
Das waere sehr, sehr gefaehrlich...
Brauch zumindest
http://www.php.net/manual/de/function.mysql-escape-string.php
und lies mal alle Artikel unter
http://www.dclp-faq.de/ch/ch-security.html
ging nicht was gibt ein checkhaken zurück wenn er angekreuzt ist und was wenn nicht.
Wie kann man Checkboxen verarbeiten?
http://www.dclp-faq.de/q/q-formular-checkbox.html
Gruesse,
Thomas