Janosch: Select-Abfrage MYSQL where checkbox = 1

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

  1. 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

    1. 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

      1. 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

        • Wie die DB-Tabelle aufgebaut ist (Namen und Typen der Spalten)
        • Was Du mit der DB-Abfrage herausfinden willst
            (Welches Feld soll welchen Wert haben? u.s.w.)
        • Was Du genau erreichen willst.
            Erklaer das Problem nochmals Schritt fuer Schritt.

        Gruesse,

        Thomas

      2. 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

  2. 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

  3. 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