如何使用 Ajax 将复选框信息添加到 MySQL 数据库?

Posted

技术标签:

【中文标题】如何使用 Ajax 将复选框信息添加到 MySQL 数据库?【英文标题】:How to add checkbox info to MySQL database using Ajax? 【发布时间】:2014-03-31 05:22:13 【问题描述】:

我有一个通过mysqlAjax / 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 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

初始化jplist后如何添加复选框过滤器项

尝试使用复选框将评论定义为私有或不私有。使用 AJAX 发布到 PHP MySQL

复选框状态更改时如何更新mysql字段?使用 jquery (ajax)、php 和 mysql

如何将 $_SESSION 变量添加到 Ajax 请求中并将数据插入到 mysql 数据库 PHP 中?

jquery - 如何使用通过 AJAX 从 MySQL 和 PHP 检索的数据将图像添加到 Select2 下拉列表?

如何使用数据表在渲染函数中使用列名