如何从数据库中提取数据并重新检查最初检查和提交的复选框?

时间:2016-04-29 14:35:07

标签: php jquery ajax checkbox

我使用下面的代码在数据库中输入了复选框值。当用户想要稍后查看复选框时,如何从数据库中提取数据并重新检查最初检查和提交的复选框?

从下面的代码中输入数据如下:DATA1 | DATA2 | DATA3 |

var checkbox_value = "";
    $(":checkbox").each(function () {
        var ischecked = $(this).is(":checked");
        if (ischecked) {
            checkbox_value += $(this).val() + "|";
        }
    });

现在我如何使用DATA1 | DATA2 | DATA3 |并重新检查相应的复选框?

以下是我如何从正常输入文本框中获取其他数据并重新显示它:

$.ajax({
  url: 'ajax/example/example.php',
  data: "findval="+carrier+"&column="+column,
  dataType: 'json',                
  success: function(data)         
  {

    var auto_id = data['id'];
    var auto_name = data['name'];
    var auto_address = data['address'];
    var auto_trailer_types = data['trailer_types'];

$('#output_autocomplete_forms').html("<form id='example' class='form-horizontal'><input type='hidden' name='auto_id' id='auto_id' class='form-control' value="+auto_id+">......<div class='form-group'>
<div class='checkbox'><label><input type='checkbox' name='trailer_kinds[]' value='DATA1'>DATA1</label></div>
<div class='checkbox'><label><input type='checkbox' name='trailer_kinds[]' value='DATA2'>DATA2</label></div>
<div class='checkbox'><label><input type='checkbox' name='trailer_kinds[]' value='DATA3'>DATA3</label></div> 

var auto_trailer_types = data [&#39; trailer_types&#39;];

现在我该如何使用DATA1 | DATA2 | DATA3 |并重新检查相应的复选框?

2 个答案:

答案 0 :(得分:0)

使用ajax解决此问题。但在尝试在income_o.date

中对php查询回复进行编码之前
JSON

更多信息database schema

答案 1 :(得分:0)

所以,我猜测存储在数据库中的字符串类似0|0|1|0,你需要将复选框恢复到该状态。

如前所述,您可以使用AJAX。首先,您需要一个触发器来启动AJAX例程 - 单击按钮,通常是:

<button id="mybutt">Update Checkboxes</button>

你的AJAX例程看起来像这样:

var rowID = $(this).closest('tr').attr('id');
alert(rowID); //this datum must allow you to identify the row in the database
$.ajax({
    type: 'post',
     url: 'another_php_file.php',
    data: 'id=' +rowID,
    success: function(recd){
        var arrCB = recd.split('|');
        for (var n=0; n<arrCB.length; n++){
            var z = n+1;
            $('#cb'+ z).val( arrCB[n] );
        }
    }
});

<强> another_php_file.php:

<?php
    $id = $_POST['id'];

    $pseudo_query = "SELECT `field_name` FROM `table_name` WHERE `id` = '$id' ";

    echo $pseudo_query_result;

您回复的pseudo_query_result应为原始0|0|1|0。 PHP echo将该数据发送回jQuery AJAX例程的success函数。 重要提示:在成功功能之外,接收的数据不可用。您必须在成功函数中使用该数据执行所需操作,如上例所示。

在上面的代码中,.split()用于将0|0|1|0字符串转换为数组,然后我们使用for循环(甚至只是单独手动编写每个复选框更新)。