checkboxen ->mysqldatenbank

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • checkboxen ->mysqldatenbank

    Hey,
    Ich bin ein totaler newbie in PHP und Mysql, jedoch habe ich schon ein projekt angenommen wo ich schon eine menge php und sql-coden muß.

    Die Aufgabe: Formular mit unzähligen textfeldern und 9 Checkboxen in eine mysqldatenbank eintragen.
    Die textfelder sind kein Problem, aber die Checkboxen kosten mir seit 2 Tagen den letzten Nerv.
    Es soll der Wert der Box, falls sie checked ist, in die db eingetragen werden, sonst eben nicht.

    Bitte hilfe ich bin wirklich am Ende!
    Danke schon im Voraus

  • #2
    also:
    so muss der Name der 9Checkboxen sein:
    check[1]
    check[2]
    check[3]
    check[4]
    ...
    check[9]
    Und der Wert soll bei allen "ok" sein !

    dann der PHP-Code:
    for($a=0;$a<count($check);$a++){
    if($check[$a]=="ok"){
    ...
    }
    }

    Comment


    • #3
      also:
      so muss der Name der 9Checkboxen sein:
      check[1]
      check[2]
      check[3]
      check[4]
      ...
      check[9]
      Und der Wert soll bei allen "ok" sein !

      dann der PHP-Code:
      for($a=0;$a<count($check);$a++){
      if($check[$a]=="ok"){
      mysql_query("INSERT INTO tabelle (checkbox[".$a."]) VALUES ('ok')",$db);
      }
      }


      Das war's !
      Natürlich kannst du alles anpassen !

      Comment


      • #4
        Hat leider nicht funktioniert!
        Hab alles ausgeteste - nix.
        Es würde mir auch helfen, wenn du es ein wenig kommentieren könntest.

        Anbei der PHP-code den ich Verwende:

        <?php

        if ($gesendet)
        {
        $db = mysql_connect();

        $sqlab = "insert into person (name, ort)";
        $sqlab .= "values ('$name', '$ort')";

        mysql_db_query ("checkbox", $sqlab);

        for($a=0;$a<count($check);$a++)
        {
        if($check[$a]=="ok")
        {
        mysql_query("INSERT INTO boxes (checkbox[".$a."]) VALUES ('ok')",$db);
        }
        }




        $num = mysql_affected_rows();
        if ($num>0)
        $ausgabe = "Es wurde 1 Datensatz hinzugefügt";
        else
        {
        $ausgabe = "Es ist ein Fehler aufgetreten,<br>es wurde kein Datensatz hinzugefügt";
        }
        mysql_close($db);
        }
        ?>

        Comment


        • #5
          Deine Tabelle müsste also boxes heißen und 9 spalten namens checkbox[1]-checkbox[9] haben !

          Nochmal überarbietet:
          (Jetzt heißen die Spalten checkbox1-checkbox9)
          <?php

          if ($gesendet)
          {
          //MySQL konnektieren
          $db = mysql_connect("localhost","username","passwort");
          //Datenbank auswählen
          mysql_select_db("datenbank",$db);

          $sqlab = "insert into person (name, ort)";
          $sqlab .= "values ('$name', '$ort')";

          mysql_query ($sqlab,$db);

          for($a=0;$a<count($check);$a++)
          {
          //Falls die jetzige Variable = "ok" ist, dann
          if($check[$a]=="ok")
          {
          //schreibe in die Tabelle checkbox$a ($a steht für eine
          //die zahl) den wert "ok"
          $sql = mysql_query("INSERT INTO boxes (checkbox".$a.") VALUES ('ok')",$db);
          }
          }

          //Ich glaube, dass dir hier ein ($sql) gefehlt hat
          $num = mysql_affected_rows($sql);
          if ($num>0){
          $ausgabe = "Es wurde 1 Datensatz hinzugefügt";
          }
          else
          {
          $ausgabe = "Es ist ein Fehler aufgetreten,<br>es wurde kein Datensatz hinzugefügt";
          }
          mysql_close($db);
          }
          ?>

          FERTIG !

          Comment


          • #6
            Habe wieder alles probiert in allen varianten aber es funktioniert nicht!
            HIIIIIIIIIIIIILLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFEEEEEEEEEEE!

            Danke im Voraus

            Comment


            • #7
              So hier jetzt wie es wirklich geht :

              Die Formdatei formbox.php :

              =======================================================

              <form action="boxes.php" method="post">
              <?php
              for ($i=1;$i<=9;$i++)
              {
              echo"<INPUT type=\"checkbox\" name=\"box[".$i."] value=\"ok\">";
              }
              echo"<INPUT type=\"submit\" name=\"submit\">";
              ?>
              </form>

              ======================================================

              Die Datei boxes.php :

              ======================================================
              <?php
              $dbserver='192.168.140.14';
              $dbuser='';
              $dbpass='';
              $dbname='test_jbb2';
              $db = @mysql_connect($dbserver,$dbuser,$dbpass);
              if ($db)
              {
              mysql_select_db($dbname,$db);
              $query=" INSERT INTO boxes (id";
              $values = ") VALUES (''";
              for ($i=1;$i<=9;$i++)
              {
              if ($box[$i]=="on")
              {
              $z="box".$i;
              $query=$query." ,".$z;
              $values=$values." ,'1'";
              }
              else
              {
              $z="box".$i;
              $query=$query." ,".$z;
              $values=$values." ,'0'";
              }
              }
              $query=$query.$values.")";
              mysql_query ($query,$db);
              }

              ?>

              =====================================================
              So und hier der CREATE für die Tabelle in der Datenbank test_jbb2 :

              =====================================================
              CREATE TABLE boxes (
              id int(11) DEFAULT '0' NOT NULL auto_increment,
              box1 int(11) DEFAULT '0' NOT NULL,
              box2 int(11) DEFAULT '0' NOT NULL,
              box3 int(11) DEFAULT '0' NOT NULL,
              box4 int(11) DEFAULT '0' NOT NULL,
              box5 int(11) DEFAULT '0' NOT NULL,
              box6 int(11) DEFAULT '0' NOT NULL,
              box7 int(11) DEFAULT '0' NOT NULL,
              box8 int(11) DEFAULT '0' NOT NULL,
              box9 int(11) DEFAULT '0' NOT NULL,
              PRIMARY KEY (id)
              );

              =====================================================

              Und das geht, ich hab es hier laufen !!

              Comment

              Working...
              X