插入数据库中检查的所有值

Inserting all values of checked in the database

我创建了很多复选框。例如:

<input type="checkbox" name="chk_group[]" value="Pharmacist" /><span class="kassem">Pharmacist </span>
<input type="checkbox" name="chk_group[]" value="Police Officer" /><span class="kassem">Police Officer </span>
<input type="checkbox" name="chk_group[]" value="Pottery" /><span class="kassem">Pottery </span>
<input type="checkbox" name="chk_group[]" value="Programming" /><span class="kassem">Programming </span>
<input type="checkbox" name="chk_group[]" value="Puzzles" /><span class="kassem">Puzzles </span>
<input type="checkbox" name="chk_group[]" value="Psychologist" /><span class="kassem">Psychologist </span>

知道用户可以随意检查。知道我知道如何使用 PHP 回显选中的复选框。但我想知道如何将它连接到 phpmyadmin 中数据库中的一行?好吧,我知道怎么做,但是数据库只插入最后检查的元素的值!我希望它插入所有选中的元素有什么帮助吗?
这是 php:

<input type="submit" name="submit" value="Accept" class="hassan" /><br /><br />
<?php
include "db.php";
$id = $_SESSION['user_id'];
if (isset($_POST['submit'])) {
    $optionArray = $_POST['chk_group'];
    for ($i=0; $i<count($optionArray); $i++) {
        echo "<div>" ."<span class='kassem'>" . $optionArray[$i]."<br />" . "<br />" . "</span>". "</div>";
   $hobby = $optionArray[$i];
   $sql = "UPDATE `login1` SET `hobby`='$hobby' WHERE `ID`='$id'";
   $res=mysql_query($sql);
   if($res) {
     echo "connected";
     } else {
     echo "bad";
   }
  }
   
    }

?>

您在与记录的其余部分相同的 table 专栏中讲述爱好价值。那只能保存一个值。

您应该规范化您的数据库。

再创建两个 table。

  • 一个用于保存 hobby 的所有可能值(以及主键的 id 列)
  • A junction table 其中两列是 hobby table 和 login1 table.
  • 上的外键

然后在联结点 table 中为每个选中的复选框插入一个新条目。