从mysql查询中显示boolean values bootstrap table复选框列

时间:2017-04-20 20:25:19

标签: php jquery mysql checkbox

我有mysql表:

CREATE TABLE bd_grid.tbl_datatable (
`id`         int(10) NOT NULL auto_increment,
`name`       varchar(250) NOT NULL default '',
`email`      varchar(250) NOT NULL default '',
`mobile`     varchar(250) NOT NULL default '',
`start_date` timestamp DEFAULT CURRENT_TIMESTAMP,
`status`     TINYINT(1),
PRIMARY KEY  (`id`));

THE'状态'列是插入布尔值(0,1),这是我插入布尔值的一个例子。

INSERT INTO bd_grid.tbl_datatable(`name`,`email`,`mobile`,`status`) VALUES('Ricardo Alejandro Lopez Reyes','lopezr853@gmail.com','8443853097',true);

所有这些值,我使用bootstrap表来显示它们,但我想要的方式显示列中的值' STATUS'是一个复选框列。如果' STATUS'的值如果取消选中该复选框,则如果状态值为1,则复选框将被选中。

        <script type="text/javascript">

            var $table = $('#table');

                $table.bootstrapTable({
                    url:'list-user.php',
                    search:true,
                    pagination: true,
                    buttonsClass: 'primary',
                    showFooter: true,
                    minimumCountColumns: 2,

                    columns: [{
                        field: 'id',
                        title: '#',
                        sortable: true
                    },{
                        field: 'name',
                        title: 'Nombre',
                        sortable: true
                    },{
                        field: 'email',
                        title: 'E-mail',
                        sortable: true
                    },{
                        field: 'mobile',
                        title: 'Celular',
                        sortable: true
                    },{
                        field: 'start_date',
                        title: 'Fecha Inicio',
                        sortable: true
                    },{
                        field: 'status',
                        title: 'Estatus',
                        checkbox: true,
                        checkboxEnabled: true
                    }]
                });
        </script>
        </BODY>
</HTML>

当我加载我的引导程序表时,所有复选框都未被选中,我使用此文件来迭代mysql表中的所有数据

请查看下面的 list-user.php 代码。我正在使用此代码将信息加载到BOOTSRAP表中。条件if ($rowList['status'] == 1),我想要将我的复选框的状态更改为未选中,但我真的不知道如何操纵“状态”#39;列以更改复选框。

列表user.php的

<?php
require 'db.php';

$sqltran = mysqli_query($con, "SELECT * FROM tbl_datatable ")or die(mysqli_error($con));
$arrVal = array();

$i=1;
while ($rowList = mysqli_fetch_array($sqltran)) {

    $name = array(
        'id' => $i,
        'name'=> $rowList['name'],
        'email'=> $rowList['email'],
        'mobile'=> $rowList['mobile'],
        'start_date'=> $rowList['start_date'],
        'status'=> $rowList['status']


    );

    if ($rowList['status'] == 1) {


        // CODE TO CHANGE THE STATUS OF THE CHECKBOX TO checked

        array_push($arrVal, $name);
        $i++;
    }

    else {

        // CODE TO CHANGE THE STATUS OF THE CHECKBOX TO unchecked
        array_push($arrVal, $name);
        $i++;
    }

}
echo  json_encode($arrVal);


mysqli_close($con);
?>

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

在你的专栏中:

columns: [{
   field: 'id',
   title: '#',
   sortable: true
},{
   ...
},{
   field: 'check',
   title: 'Estatus',
   checkbox: true
},{
   field: 'status',
   visible: false
}]

加载数据表后:

$table.on('load-success.bs.table', function() {
    $table.bootstrapTable("checkBy", {
        field: "status", 
        values: [1]
    });
});

如果列状态值= 1,则选中相应的复选框(来自列检查)。 checkBy方法的文档:

  

按值数组检查行,参数包含:

     
    

字段:用于查找记录的字段的名称

         

values:要检查的行的值数组

  
     

示例:$(&#34;#table&#34;)。bootstrapTable(&#34; checkBy&#34;,{field:&#34; field_name&#34;,值:[&#34; value1&# 34;,&#34;值2&#34;&#34;值3&#34;]})