gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 03:03:58 26 4
gpt4 key购买 nike

我的数据库表有 2 个字段:id (int) 和 state (enum -> 0,1)。

我需要做的是用 checkbox 的状态更新我的数据库(我的 state 字段)(0 为空, 1 表示选中)。

为了显示我数据库中的每个字段,我使用了一个循环:

循环:

<?php
foreach ( $posts_array as $module )
{
?>
<h2><?php echo $module->titre; ?></h2>
<input type="checkbox" name="chkbx_<?php echo $module->id; ?>"> id="chkbx_<?php echo $module->id; ?>" class="onoffswitch-checkbox"> On/Off <br />
<?php
}
?>

我的更新文件:

foreach ($_GET['onoffswitch-checkbox'] as $id => $state)
{
// $_GET['onoffswitch-checkbox'] = class for all my checkboxed
// $id = my database row id
// $state = on/off
$query = mysql_query("UPDATE records SET id='$id' WHERE state='$state'", $conn) or die (mysql_error($conn));
$id++;
}

我需要帮助的地方是代码的 AJAX 部分。我猜它看起来像这样,但它似乎不起作用:

AJAX

$(document).ready(function() {
$("onoffswitch-checkbox").click(function() {
var id = $(this).attr('id');
$("#state_span").load("module_update.php?"+id);
}
}

我一直在四处寻找,看到了一些我们可以使用提交按钮执行此操作的示例,但没有一个在单击复选框时自动记录信息的示例。

最佳答案

试试这个:

AJAX

$(document).ready(function() {
$(".onoffswitch-checkbox").click(function() {
var id = this.id; //changed here also, just because jQuery is not needed here
var state = this.checked ? 1 : 0;
$("#state_span").load("module_update.php?id="+id+"&state="+state);
}
}

改变了 3 件事:

  • $("onoffswitch-checkbox") 中添加了一个点,所以它现在是 $(".onoffswitch-checkbox")
  • module_update.php? 之后和 id 值之前添加了 id=
  • 因为您需要 state,所以我还添加了 & 来分隔 php 中 $_GET 的值以分隔它们<

PHP

我不知道你在 php 中使用 $_GET['onoffswitch-checkbox'] 是什么意思,也许是个错误?反正我的建议不需要它,你的mysql查询也不需要。

因为你一次只会点击一个,所以我认为在 php 中不需要 foreach 循环,所以你可以这样做:

$id = $_GET['id'];
$state= $_GET['state'];
// $_GET['onoffswitch-checkbox'] ?? I don't think you need this...
// $id = my database row id
// $state = on/off
$query = mysql_query("UPDATE records SET id='$id' WHERE state='$state'", $conn) or die (mysql_error($conn));
$id++;

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

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