Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在数据库中保存多个数据数组_Javascript_Php_Codeigniter - Fatal编程技术网

Javascript 如何在数据库中保存多个数据数组

Javascript 如何在数据库中保存多个数据数组,javascript,php,codeigniter,Javascript,Php,Codeigniter,我创建了一个addline数组按钮来创建多个数组字段。我的问题是,我无法保存插入到这些字段中的数据 JavaScript var MaxInputs = 3; //maximum input boxes allowed var InputsWrapper = $(""); var addlines = 1; var FieldCount = 1; //to keep track of text box added function AddORDe

我创建了一个addline数组按钮来创建多个数组字段。我的问题是,我无法保存插入到这些字段中的数据

JavaScript

  var MaxInputs       = 3; //maximum input boxes allowed
  var InputsWrapper = $("");
  var addlines = 1;
  var FieldCount = 1; //to keep track of text box added

function AddORDeleteLines(obj,type){
type=type+'';
var objtype=obj.id+'';
if(type==="add"){
     if(objtype==='AddMoreLines'){
    

        if(addlines<=MaxInputs){
            FieldCount++;
            InputsWrapper = $("#ADD_LINE-txtEmployee-div");
            $(InputsWrapper).append('<div class="class-div_'+FieldCount+'">'+
            '<input type="text" name="txtEmployee" size="30"/>'+
            '</div>');
            
            
        InputsWrapper = $("#ADD_LINE-txtDate-div");
            $(InputsWrapper).append('<div class="class-div_'+FieldCount+'">'+
            '<input type="date" name="txtDate"/>'+
            '</div>');
            
        InputsWrapper = $("#ADD_LINE-txtTimeFrom-div");
            $(InputsWrapper).append('<div class="class-div_'+FieldCount+'">'+
            '<input type="time" name="txtTimeFrom" />'+
            '</div>');
        InputsWrapper = $("#ADD_LINE-txtTimeTo-div");
            $(InputsWrapper).append('<div class="class-div_'+FieldCount+'">'+
            '<input type="time" name="txtTimeTo" />'+
            '<input type="button" onClick="AddORDeleteLines(this,'+"'delete'"+')" id="removeButton_'+FieldCount+'" value="x" class="removeLines"/>'+
            '</div>');      
            addlines++;
        }
    }
}
else if(type==="delete"){
        var parentobj = $("#"+obj.id).parent('div');
        //$(parentobj).parent('div').remove();
        var objclass = $("#"+obj.id).parent('div').attr("class")+'';
        objtype = $("#"+obj.id).attr("class")+'';
        if(objtype==='removeLines'){
            addlines--;
         }
        $("div").remove('.'+objclass);
        
    return false; 
}}
模型


我认为您需要使用php的json_encode()或serialize()函数来存储每个字段的多个值。将saveovertime()函数替换为以下函数:

function saveovertime(){
$value = array(
    'EMPLOYEE'=>json_encode($this->input->post('txtEmployee')),
    'TIME_FROM'=>json_encode($this->input->post('txtTimeFrom')),
    'TIME_TO'=>json_encode($this->input->post('txtTimeTo')),
    'DATE'=>json_encode($this->input->post('txtDate')));
$query = $this->db->insert('dtr_timerecord_overtime_line',$value);}

html元素的名称必须为“数组类型”。示例:我已经这样做了。。它不保存任何内容html上的
save按钮在哪里?您必须知道同一
id
不能在html页面中放置多个。因此,如果您的
保存按钮功能
使用输入的
id调用该值
,它将不会工作错误号:1292不正确的时间值:第1行“time\u FROM”列的“false”插入
dtr\u timerecord\u timeout\u行
员工
时间
时间
日期
加班ID
)值('false','false','false','1)文件名:C:\xampp\htdocs\payroll\system\database\DB\u driver.php行号:330我认为您将在每个字段中存储多个值,因此您需要将数据库中
dtr\u timerecord\u timetime\u Line
表的每个字段的数据类型更改为文本类型。
public function SaveOvertime(){
$this->load->library('form_validation');
$this->form_validation->set_rules('txtEmployee[]', 'Employee', 'required');
$this->form_validation->set_rules('txtTimeFrom[]', 'Time From', 'required');
$this->form_validation->set_rules('txtTimeTo[]', 'Time to', 'required');
$this->form_validation->set_rules('txtDate[]', 'Date', 'required');

    if ($this->form_validation->run() == FALSE)
    {
          $this->load->view('error_overtime');
    }
    else
    {   
    $this->load->model('dtr_model');
    $this->dtr_model->saveovertime();
    $this->load->view('success_overtime');

    }
function saveovertime(){
    $value = array(
        'EMPLOYEE'=>$this->input->post('txtEmployee[]'),
        'TIME_FROM'=>$this->input->post('txtTimeFrom[]'),
        'TIME_TO'=>$this->input->post('txtTimeTo[]'),
        'DATE'=>$this->input->post('txtDate[]'));   
$query = $this->db->insert('dtr_timerecord_overtime_line',$value);}
function saveovertime(){
$value = array(
    'EMPLOYEE'=>json_encode($this->input->post('txtEmployee')),
    'TIME_FROM'=>json_encode($this->input->post('txtTimeFrom')),
    'TIME_TO'=>json_encode($this->input->post('txtTimeTo')),
    'DATE'=>json_encode($this->input->post('txtDate')));
$query = $this->db->insert('dtr_timerecord_overtime_line',$value);}