php - 通过jquery将多维数组从控制器codeigniter传递到数据表
问题描述
我想将一个多维数组从控制器传递到数据表中。
我使用 CodeIgniter 和 jquery 数据表。只是单个阵列时没有问题。但是当使用二维数组时,数据未显示。
这是我的代码
控制器
function data_attend()
{
$w = $this->input->post("write");
$d = $this->input->post("delete");
$lab_slct = $this->input->post("lab_slct");
$month_slct = $this->input->post("month_slct");
$year_slct = $this->input->post("year_slct");
$draw = intval($this->input->get("draw"));
$start = intval($this->input->get("start"));
$length = intval($this->input->get("length"));
$data = array();
$attend_test = $this->m_human_capital->attend_test();
$month = $this->m_general->month($month_slct)->row_array();
$day_total = $month['day_total'];
$holiday = $this->m_general->holiday()->result();
$month = $this->m_general->list_month()->result();
$year = $this->m_general->list_year()->result();
$rows = $this->m_human_capital->attendance($lab_slct, $keyword)->result_array();
$a = array();
foreach ($rows as $row) {
$a[$row['sn']][] = $row;
}
$rows2 = $a;
$attendance_2 = $this->m_human_capital->attendance_2(array('ab.lab'=>$lab_slct))->result_array();
$roaster = $this->m_general->get_data('tb_roaster')->result_array();
$attend_detail = $this->m_general->get_data('tb_attend_detail')->result_array();
$no=1;
foreach ($attendance_2 as $attend_list) {
foreach ($rows2 as $i){
if (
$i = $attend_list['sn']) {
$a = $attend_list['name'];
$b = $attend_list['pst_desc'];
for($m=1; $m <= $day_total; $m++){
$tgl = date('Y-m-d', strtotime($year_slct.'-'.$month_slct.'-'.$m));
$detail_attend = $this->m_human_capital->detail_attend($i,$tgl);
$detail_attend = $detail_attend->row_array();
$id = $detail_attend['at_id'];
$stat = $detail_attend['details'];
$note = $detail_attend['note'];
if ($write==1) {
$c = '<a href="javascript:edit_attend(\''.$id.'\',\'tb_attendance\',\'id\')"><span data-placement="left" data-original-title="'.$stat.'-'.$note.'" class="tooltips glyphicon '.$icon_details.'"></span></a>';
}else{
$c = '<span data-placement="left" data-original-title="'.$stat.'-'.$note.'" class="tooltips glyphicon '.$icon_details.'"></span>';
}
}
$d = array();
$d[] = $c;
}
$data[] = array (
$no++,
$a,
$b,
$d
);
}
}
$output = array(
"draw" => $draw,
"recordsTotal" => $attend_list->num_rows(),
"recordsFiltered" => $attend_list->num_rows(),
"data" => $data
);
echo json_encode($output);
}
这是我的 jquery 脚本
//show data attendance new
$(document).ready(function() {
$('#attendance_list').DataTable({
"ajax": {
"url": base_url+'human_capital/data_attend',
"type": "POST",
"data": {
"write": $('#write').val(),
"delete": $('#delete').val(),
"lab_slct": $('#lab_slct').val(),
"month_slct": $('#month_slct').val(),
"year_slct": $('#year_slct').val()
}
}
});
});
数据未显示,只是错误
超过 300 秒的最大执行时间。
我需要做什么?
解决方案
您可以使用 set_time_limit() 将最大执行时间设置为零意味着无限:
function data_attend()
{
set_time_limit(0); //unlimited time execution
$w = $this->input->post("write");
$d = $this->input->post("delete");
$lab_slct = $this->input->post("lab_slct");
//rest of your code
推荐阅读
- java - 从数组中删除空值并从Java中的方法中获取它
- c - 如何将 pcre2 修复为 \w 将匹配标记?
- azure - 如何从 Gen2 blob 存储中的 parquet 文件在 sql server 中创建外部表
- javascript - 停止 Mapbox 层的事件传播
- php - Phpunit:在功能测试中对类内的方法进行存根
- sql - sql和Rstudio中不同的输出rpart函数
- c# - 是否可以在不使用 FromQuery 的情况下在 Swagger UI 中为输入模型属性赋予不同的名称?
- botframework - 我想从 Mongo 数据库中实现对机器人的自动完整搜索
- java - ScrollPane 滚动不适用于其他节点
- git - 按合并提交过滤?