gpt4 book ai didi

php - 使用复选框更新 MySql 数据库

转载 作者:行者123 更新时间:2023-11-30 23:45:12 25 4
gpt4 key购买 nike

好吧,我知道我可能会因为问这个问题而受到抨击...自从我接触 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

最佳答案

使用 jQuery 和 Ajax 可以轻松解决。

<input type='checkbox' name='".$class."' value='". $value."'"; class="mycheckbox" />

现在当用户检查它时发送 ajax 调用,其中 update_datase.php 文件可以包含更新查询。

$('.mycheckbox').click(function() {
alert($(this).attr("value")); //-->this will alert value that will be update to DB.
if(this.checked){
$.ajax({
type: "POST",
url: 'update_databse.php',
data: $(this).attr("value"),
success: function(data) {
alert('DB updated');
},
error: function() {
alert('it broke');
},
complete: function() {
}
});

}
});

希望对你有帮助。

关于php - 使用复选框更新 MySql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41783480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com