我创建了很多复选框。例如:
<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";
}
}
}
?>
答案 0 :(得分:0)
您正在记录与记录其余部分相同的表中的列中的爱好值。这只能保留一个值。
您应该规范化数据库。
再创建两个表。
hobby
的所有可能值(以及主键的id列)hobby
表和login1
表上的外键。然后在联结表中为每个选中的复选框插入一个新条目。