如何使用 Ajax 将复选框信息添加到 MySQL 数据库?
Posted
技术标签:
【中文标题】如何使用 Ajax 将复选框信息添加到 MySQL 数据库?【英文标题】:How to add checkbox info to MySQL database using Ajax? 【发布时间】:2014-03-31 05:22:13 【问题描述】:我有一个通过mysql
和Ajax / Json
填充的简单列表。该列表只是一个标题和描述,每个条目都有一个checkbox
。我需要checkbox
,一旦点击,就可以推送到它被点击的数据库。你会怎么做呢?
[顺便说一句...
现在,因为我的 SQL 数据上有一个 setTimeInterval
来即时提供列表,所以它会自动重置我的复选框。我假设如果我记录了我的checkbox
已通过 SQL 中的布尔值设置,那么可能有办法对其进行检查...]
我是这方面的新手,我只是在玩耍并尝试学习,所以这些信息完全是理论上的。
【问题讨论】:
你应该提供你正在使用的代码和你的表结构。 【参考方案1】:您可以使用 on() 函数来监听复选框的点击。
$(function()
$(document.body).on('click', 'input.mycheckbox', function()
var checkbox = $(this);
var checked = checkbox.attr('checked');
$.ajax('service.url',
type: 'post',
data: action: 'checkbox-select', id: checkbox.attr('id'), checked: checked,
success: function(data)
alert(data);
,
error: function(data)
alert(data);
// Revert
checkbox.attr('checked', !checked);
);
);
如果您需要任何说明或者这不适合您的情况,请随时询问。
编辑:
AJAX 函数的data
参数是一个将发布到您的php 页面的对象。当您的 PHP 代码运行时,$_POST
将是一个包含我们传递的值的数组。因此,$_POST['action']
将是“复选框选择”,$_POST['id']
将获得 ID,$_POST['checked']
将根据复选框被选中或取消选中而为真或假。您在 javascript 中获取 ID 的方法可能会改变;我只是把checkbox.attr('id')
给你一个想法。
在学习 PHP 时,将来自服务器的响应转储到客户端会很有帮助。示例 PHP 代码:
if($_POST['action'] == 'checkbox-select'])
$checkbox = $_POST['id'];
$checked = $_POST['checked'];
// Your MySQL code here
echo 'Updated';
echo 'Code ran';
我编辑了 JS 以显示来自服务器的结果。
【讨论】:
service.url???但我连接到存储在 php 变量中的 db。我可以用吗? @SunRhythms "service.url" 是 PHP 页面 URL 的占位符。将其替换为您的页面 URL,您的 PHP 页面应该能够从 $_POST 数组中读取数据。 @SunRhythms 查看我的更新回复。如果您仍然遇到困难,您可能需要在线查找教程。 如何向您展示我的代码?我了解除了 ajax 部分之外的所有内容......我没有看到“type”:“POST”或 $.post 问题是复选框的ID、名称和属性都来自while循环。用户将标题和描述的信息放在一个表格中。我写它是为了附上复选框标签的标题名称。该列表填充标题中的数据。你可以在这里看到它。 sunrhythms.com/ithtest/fp以上是关于如何使用 Ajax 将复选框信息添加到 MySQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用复选框将评论定义为私有或不私有。使用 AJAX 发布到 PHP MySQL
复选框状态更改时如何更新mysql字段?使用 jquery (ajax)、php 和 mysql
如何将 $_SESSION 变量添加到 Ajax 请求中并将数据插入到 mysql 数据库 PHP 中?
jquery - 如何使用通过 AJAX 从 MySQL 和 PHP 检索的数据将图像添加到 Select2 下拉列表?