Javascript 我想使用codenigator在datatables中添加编辑和删除按钮

Javascript 我想使用codenigator在datatables中添加编辑和删除按钮,javascript,php,ajax,codeigniter,Javascript,Php,Ajax,Codeigniter,我想使用codenigator在datatables中添加编辑和删除按钮。这是我显示数据的控制器代码。现在,我想添加按钮,但可以使逻辑,如何打印这些按钮。我正在使用代码生成器 public function dataa() { $draw = intval($this->input->get("draw")); $start = intval($this->input->get("start")); $len

我想使用codenigator在datatables中添加编辑和删除按钮。这是我显示数据的控制器代码。现在,我想添加按钮,但可以使逻辑,如何打印这些按钮。我正在使用代码生成器

public function dataa()
    {
        $draw = intval($this->input->get("draw"));
          $start = intval($this->input->get("start"));
          $length = intval($this->input->get("length"));
          $this->load->model('mymodel');
          $this->load->library('Datatables');
          $this->Datatables->add_column('edit','<a href="#">edit</a>');


          $record = $this->mymodel->records();

          $data = array();

          foreach($record->result() as $r) {

               $data[] = array(
                    $r->email,
                    $r->name,
                    $r->fathername,
                    $r->phone 
               );
          }

          $output = array(
               "draw" => $draw,
                 "recordsTotal" => $record->num_rows(),
                 "recordsFiltered" => $record->num_rows(),
                 "data" => $data

            );
          echo json_encode($output);
          exit();
    }
公共函数dataa()
{
$draw=intval($this->input->get(“draw”);
$start=intval($this->input->get(“start”);
$length=intval($this->input->get(“length”);
$this->load->model('mymodel');
$this->load->library('Datatables');
$this->Datatables->add_列('edit','');
$record=$this->mymodel->records();
$data=array();
foreach($record->result()作为$r){
$data[]=数组(
$r->电子邮件,
$r->name,
$r->父亲姓名,
$r->电话
);
}
$output=array(
“draw”=>$draw,
“recordsTotal”=>$record->num_rows(),
“recordsFiltered”=>$record->num_rows(),
“数据”=>$data
);
echo json_编码($output);
退出();
}
这就是我的观点

<script type="text/javascript">
$(document).ready(function() {
    $('#record-table').DataTable({
        "ajax": {
            url : "<?php echo site_url("mycontroller/dataa") ?>",
            type : 'GET'
        },

    });
});
</script>

$(文档).ready(函数(){
$('#记录表')。数据表({
“ajax”:{
url:“”,
键入:“获取”
},
});
});

我认为这可能有用

在控制器中

if (!empty($record->result())) {
        foreach ($record->result() as $r) {
            $nestedData['email'] = $r->emailemail;
            $nestedData['name'] = $r->name;
            $nestedData['fathername'] = $r->fathername;
            $nestedData['phone'] = $r->phone;
            $nestedData['action'] = "<a href='#'></a>";

            $data[] = $nestedData;
        }
    }

    $json_data = array(
        "draw" => intval($this->input->post('draw')),
        "recordsTotal" => intval($totalData),
        "recordsFiltered" => intval($totalFiltered),
        "data" => $data
    );

    echo json_encode($json_data);
if(!empty($record->result())){
foreach($record->result()作为$r){
$nestedData['email']=$r->emailemail;
$nestedData['name']=$r->name;
$nestedData['fathername']=$r->fathername;
$nestedData['phone']=$r->phone;
$nestedData['action']='';
$data[]=$nestedData;
}
}
$json_data=array(
“draw”=>intval($this->input->post('draw')),
“recordsTotal”=>intval($totalData),
“recordsFiltered”=>intval($totalFiltered),
“数据”=>$data
);
echo json_编码($json_数据);
鉴于:

<script type="text/javascript">
    $(document).ready(function() {
        $('#record-table').DataTable({
            "ajax": {
                url : "<?php echo site_url("mycontroller/dataa") ?>",
                type : 'POST'
            },
            columns: [
                        {data: "email"},
                        {data: "name"},
                        {data: "fathername"},
                        {data: "phone"},
                        {data: "action"},
                    ],

        });
    });
    </script>

$(文档).ready(函数(){
$('#记录表')。数据表({
“ajax”:{
url:“”,
类型:“POST”
},
栏目:[
{数据:“电子邮件”},
{数据:“名称”},
{数据:“父名”},
{数据:“电话”},
{数据:“行动”},
],
});
});

您也可以在代码中尝试:

foreach($record->result() as $r) {

           $data[] = array(
                $r->email,
                $r->name,
                $r->fathername,
                $r->phone ,
                "<a href='#'>edit</a>"

           );
      }
foreach($record->result()作为$r){
$data[]=数组(
$r->电子邮件,
$r->name,
$r->父亲姓名,
$r->电话,
""
);
}

为“编辑和删除”按钮在表格中添加另一列。(行动栏除外)。 只需将列数与
$data
变量中的数据数匹配即可

$data = array();

          foreach($record->result() as $r) {

               $data[] = array(
                    $r->email,
                    $r->name,
                    $r->fathername,
                    $r->phone,
                    '<a href="#">edit</a>',
                    '<a href="#">delete</a>'
               );
          }
$data=array();
foreach($record->result()作为$r){
$data[]=数组(
$r->电子邮件,
$r->name,
$r->父亲姓名,
$r->电话,
'',
''
);
}

您可以添加助手数据库\u helper

function callback_delete($id)
{
   return "<button class='btn btn-danger delete' data-
           id='{$id}'>Delete</button>";
}

function callback_edit($id)
{
    return "<button class='btn btn-primary edit' data-id='{$id}' data-
           toggle='modal' data-target='#editInsertmodal'>Edit</button> 
           ";
}

这不是我想要的,我正在使用Codeigator或可能重复的no,这没有帮助它没有加载我的数据错误以响应存储。get:TypeError:无法在getWebspeed(chrome)上读取null的属性“1”-extension://pgjjikdiikihdfpoppgaidccahalehjh/webspeed.js:83:72)在Object.chrome.storage.local.get[作为回调](铬-extension://pgjjikdiikihdfpoppgaidccahalehjh/webspeed.js:95:31)在Object.callback(chrome-extension://pgjjikdiikihdfpoppgaidccahalehjh/webspeed.js:94:29)jquery.min.js:2 POST 500(内部服务器错误)@QadeerMalik如果您使用google chrome作为浏览器,您可以查看开发者工具。转到网络选项卡。首先刷新页面,然后尝试加载数据表应加载的页面。它将显示错误/响应,以删除此行
$this->Datatables->add_列('edit','')
,是否为您的
编辑
删除
按钮添加了另一列?与电子邮件、名称、ETCDATA表一样警告:表id=记录表-为第0行第0列请求了未知参数“email”。有关此错误的更多信息,请参阅为我提供了加载资源失败的错误:服务器以状态为500(内部服务器错误)/favicon.ico:1加载资源失败:服务器响应状态为404(未找到)
public function get_user()
{
    $this->load->helper('database');
    $this->datatables-
>select('user_id,user_firstname,user_lastname,user_email')
        ->from('users')
        ->add_column('Edit','$1','callback_edit(user_id)')
        ->add_column('Delete','$1','callback_delete(user_id)');

    echo $this->datatables->generate();
}