添加两个PHP数组并回显Json

时间:2015-04-22 04:49:31

标签: php arrays json

我有以下控制器代码,

 public function user_ajaxtest()
 {
    $userlistingx = $this->model_usermanage->viewuserlisting();
    $userlistingy = array(
            array('select' => '<input type="checkbox" name="id[]" value="">')
            );

    $userlisting1['data'] = array_merge($userlistingx, $userlistingy);
    echo json_encode($userlisting1);
}

使用此AJAX,我将用户列表发送到DataTables。 $ userlistx给我用户数组,我可以看到一切, 但我想为每一行数据表添加复选框, 为此我创建了另一个数组$ userlistingy,然后合并这两个数组

有了这个,我在数据表中再获得一行而不是列,

参见下面的ajax响应,我通常没有合并数组,只有echo json $ userlistingx。

数据:[{test_id:&#34; 8&#34;,user_id:&#34; 28&#34;,usernote:&#34; 1 image 1 attachment&#34 ;, department_id:&#34; 21& #34;,...},...] 0:{test_id:&#34; 9&#34;,user_id:&#34; 29&#34;,usernote:&#34; 1 image 1 attachment&#34; 1:{test_id:&#34; 10&#34;,user_id:&#34; 30&#34;,usernote:&#34; 1 image 1 attachment&#34;

但是当我合并并发送Json时,我得到了以下,

数据:[{test_id:&#34; 8&#34;,user_id:&#34; 28&#34;,usernote:&#34; 1 image 1 attachment&#34 ;, department_id:&#34; 21& #34;,...},...] 0:{test_id:&#34; 9&#34;,user_id:&#34; 29&#34;,usernote:&#34; 1 image 1 attachment&#34; 1:{test_id:&#34; 10&#34;,user_id:&#34; 30&#34;,usernote:&#34; 1 image 1 attachment&#34; 2:{select:"<input type="checkbox" name="id[]" value="">"}

简而言之,我如何将select复选框数组添加到我的所有数据行?

2 个答案:

答案 0 :(得分:0)

你可以试试这个

 $userlistingx = $this->model_usermanage->viewuserlisting();
 for($i=0;$i<count($userlistingx);$i++)
  {
      $userlistingy[]='<input type="checkbox" name="id[]" value="">';
  }
$userlisting1['data'] = array_merge($userlistingx, $userlistingy);
echo json_encode($userlisting1);

答案 1 :(得分:0)

无需通过响应中的复选框。将它们添加到您正在使用的表中。

Check this out

<强> HTML

<table cellpadding="0" cellspacing="0" border="0" class="display" id="example" width="100%">
    <thead>
        <tr>
            <th>name</th>
            <th>option</th>
        </tr>
    </thead>
</table>

<强>脚本

$('#example').dataTable( {
    ajax: "yourpage.php",
    columns: [
        { data: "name" },
        {
            data:   "your_data",
            render: function ( data, type, row ) {
                return '<input type="checkbox" name="name_check" value="">';
            },
        }
    ],

} );