Kontrollkästchen variable in DB schreiben

  • Hi leute.

    Hab eine Frage.

    Hab ein Formular erstellt dass in eine Datenbank geschrieben wird. Nun hab ich ein Kontrollkästchen angelegt. Jetzt hab ich wie ein Textfeld eine Variable für die DB erstellt, genauso in der DB ein eigenes Feld für das Kontrollkästchen. Habe für das Feld den Typ Varchar genommen. Leider weiß ich nicht wie die Variable des Kontrollkästchens in die DB übernommen wird. ich weiß in MS Access gibt es die Ja/Nein Felder, aber wie heißt das unter PHPMYAdmin? ...

    Habe auch probiert die Variable des Kontrollkästchen in einen Text schreiben zu lassen, so:

    PHP
    <?php
    if($kontroll != "") {
    $kontroll = "Ja";
    } else {
    $kontroll = "Nein";
    }
    ?>

    hat aber ebenfalls nicht funktioniert.

    Wäre sehr geil wenn mir da jemand helfen könnte :)

    vielen Dank im Voraus!

    Schöne GRüße Mülla

  • also varschar währe verschändung.

    entweder du nimst ein ein bitt binär feld, oder eine enumfeld mit '1', '0'

    dann kanns du einfach ein checkbox vold machen mit value eins.

    dann machst du z.B. das inum default auf 0

    und lässt das einfach so in die DB eintragen entweder das feld giebt dann eien 1 zurück oder wenn es leer ist, dann wird die default 0 genommen.

  • Hi, danke für die Antwort, eine gute Idee.
    Aber, mein Formular schreibt nichts in die DB.
    Habe dem Kontrollkätschen den Namen "show" gegeben und value="1" gemacht, wenn jetzt der SQL befehl kommt:

    Code
    $sql = "INSERT INTO gbook_stromberg (id, datum, zeit, name, email, show, www, eintrag, ip_adresse) VALUES ('','$datum','$zeit','$name','$email','$show','$www','$eintrag','$ip')";
    	@mysql_query($sql, $connect) or die("Schreiben fehlgeschlagen!");


    kommt schreiben fehlgeschlagen, also die or die meldung. Entferne ich Show aus dem Befehl dann funktionierts.
    ich hab das show feld in der DB auf Enum 1,0 gestellt und als Default 0 angegeben.
    Was ist an meinem SQL Befehl falsch? Muss ich mit dem Kontrollkästschen noch was anderes angeben lassen?

    gruß

  • versuch es mal so:
    $sql = "INSERT INTO gbook_stromberg (`datum`, `zeit`, `name`, `email`, `show`, `www`, `eintrag`, `ip_adresse`) VALUES ('$datum','$zeit','{$_REQUEST['name']}','{$_REQUEST['email']}','{$_REQUEST['show']}','{$_REQUEST['www']}','{$_REQUEST['eintrag']}','$ip')";

    @mysql_query($sql, $connect) or die("Schreiben fehlgeschlagen!");

  • tja die `machen es, da das show auch ein SQL befehl ist und dei vorang von feldnamen haben und das was du geschrieben hast nun mal nicht mit dne syntax von show übereinstimmt, funst es nicht :-p