【发布时间】:2017-06-06 14:42:36
【问题描述】:
好吧,我知道我可能会因为问这个问题而受到抨击……我接触 PHP 和 MySql 已经有 5 到 6 年了,所以我想我可能想太多了。
我有一个 HTML 表单,它是一系列复选框,通过单击一个复选框,我希望将其在数据库中的相对条目设置为 0 或 1。更新完成后,它会返回到表单如果需要,我可以再次更改设置。
条目(复选框)的数量将是静态数量将是静态的,所以我认为不需要 foreach 循环,我或多或少地试图记忆如何使用 PHP,而且我没有太多运气阅读关于SO的一大堆答案,这有点不得不处理我正在尝试做的事情。
任何帮助将不胜感激。
表格:
<?php
require "config.php";
$db = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$query = "SELECT * FROM roster";
$result = mysql_query($query);
?>
<form action="update.php" method="POST">
<?php
while( $row = mysql_fetch_array($result) ){
$active = $row['active'];
$name = $row['name'];
$class = $row['class'];
$value = '0';
if ($active == '1'){
$value = '0';
} else {
$value = '1';
}
echo "<label class='switch'><input type='checkbox' name='".$class."' value='". $value."'";
if($active == '1'){
echo "checked='checked'";
}
echo "/><div class='slider'></div><span>" . $name . "</span></label>";
}
mysql_close();
?>
<input type="submit" class="submit" value="Update Active Roster">
</form>
Update.php(到目前为止) - 我认为这是我需要帮助的地方
<?php
require "config.php";
$db = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$checkbox = $_POST['activate'];
for($i = 1; $i < sizeof($checkbox)+1; $i++){
$query = "UPDATE roster SET active='".$checkbox[$i]."' WHERE id='".$i."'";
echo "active='".$checkbox[$i]."' WHERE id='".$i."'";
mysql_query($query) or die(mysql_error());
}
?>
MySQL 数据库
id class name active
0 thisdude This Dude 0
1 thatguy That Guy 0
2 somechick Some Chick 0
【问题讨论】:
标签: php mysql forms checkbox sql-update