【问题标题】:post and update value of checkbox using ajax使用ajax发布和更新复选框的值
【发布时间】:2011-06-17 03:28:48
【问题描述】:

根据我昨天的帖子how to update and post the value of checkbox from ajax call,我将代码更改为这个,即

$query="从学生中选择 *";
$result=mysql_query($query) 或死(mysql_error());
而($rs=mysql_fetch_array($result))
{
?>




 />


我的 update.php 代码是

$conn=新登录系统();
$conn->连接();
$update=$_GET['checkboxName'];
$sql="更新学生设置检查='$update'";
$rs=mysql_query($sql);
?>

当我点击复选框时,什么都没有发生,当刷新整个页面时,它会自动取消选中。 请注意,没有表单或提交按钮,所有事情都是在单击事件的复选框上完成的。我想通过单击填充表中的复选框来更新数据库。 请帮忙

【问题讨论】:

  • 您已成功复制并粘贴了某人的答案,但您尚未了解它的作用,您尚未确定该人答案中的错误,您还没有编写任何服务器端代码来使用他们的客户端代码。
  • 您新发布的 update.php 代码会更新表中的每一行,并将其选中的列设置为一个复选框的名称。我想你需要买一本 PHP & MySQL 初学者的书。你还没有为此做好准备,从这里的问答中获得一点点信息不会给你你所缺少的心理框架。

标签: php javascript ajax


【解决方案1】:

我们无法告诉您为什么 update.php 不起作用,因为您没有共享该代码。现在,它不可能工作,因为您没有向它提供任何方法来知道要更新哪一行以及该框是否被选中。

您需要为每一行中的复选框指定不同的名称,以便您知道在您的 PHP 代码中选中了哪一个。在名称中使用行的标识符,例如 checkbox_3checkbox[3]。然后,您需要确保将复选框的值也作为 URL 的一部分。

【讨论】:

  • 现在我更新了我的问题,正如你所说,为每行中的复选框赋予不同的名称,但如果我将名称作为数组给出,复选框是动态来自 mysql 表的......
  • 为复选框赋予不同的值,而不是不同的名称。
  • 我已经回答了这个问题。不,大卫,这不再正确。两种方式都会将行标识符传递给 PHP。
  • 我将值设为 value="" 以便每一行都用唯一值标识,但仍然不起作用\
  • 你需要编写代码来使用这个值,只是改变你的HTML既不会为你编写JavaScript也不会为你编写PHP。
猜你喜欢
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 2017-05-19
  • 1970-01-01
相关资源
最近更新 更多