簡體   English   中英

PHP-使用外鍵保存數據(codeigniter)

[英]PHP - saving data with foreign key (codeigniter)

我的數據庫中有兩個表, usersonlineform onlineform有一個名為userid的字段,它是usersid的外鍵。 當我將數據保存到onlineform表時,我試圖將登錄的用戶ID保存到userid字段。 但是,它僅返回此Message: Undefined index: userid 令人困惑的是,其他數據可以保存,只有用戶ID不能保存到onlineform表的userid字段中。 我正在使用ajax保存我的數據

我的模型, form_model.php

public function save($form_data) 
{
    for ($i=0; $i < count($form_data); $i++) { 
        $data[] = array(
            'id'=>$form_data[$i]['userid'],
            'date'=>$form_data[$i]['date'],
            'day'=>$form_data[$i]['day'],
            'in1'=>$form_data[$i]['in1'],
            'out1'=>$form_data[$i]['out1'],
            'in2'=>$form_data[$i]['in2'],
            'out2'=>$form_data[$i]['out2'],
        );
    }

    try {
        for($i = 0; $i < count($form_data); $i++) {
            $this->db->insert('onlineform',$data[$i]);
        }
        return 'success';
    } 

    catch (Exception $e) {
        return 'failed';
    }

}

控制器, form.php

public function save()
{
    $form_data = $this->input->post('form_table');

    $this->load->model('form_model');
    $status = $this->form_model->save($form_data);

    $this->output->set_content_type('application/json');
    echo json_encode(array('status' => 'status'));
}

和我的看法, report.php

$('#savedb').click(function(){

        var form_table = [];
        $('#form_table tbody tr').each(function(row, tr) {

            if ($(tr).find('td:eq(0)').text() == "") {
            }

            else {
                var sub = {
                    'day' : $(tr).find('td:eq(0)').text(),
                    'date' : $(tr).find('td:eq(1)').text(),
                    'in1' : $(tr).find('td:eq(2)').text(),
                    'out1' : $(tr).find('td:eq(3)').text(),
                    'in2' : $(tr).find('td:eq(4)').text(),
                    'out2' : $(tr).find('td:eq(5)').text(),
                    'id' : $(tr).find('td:eq(6)').text()
                };
                form_table.push(sub);
            }
        });

        var data = {
            'form_table' :form_table
        };

        $.ajax({
            data : data,
            type : 'POST',
            url : '<?php echo base_url('index.php/Form/save'); ?>',
            crossOrigin : false,
            dataType : 'json',
            success : function(result) {
                if(result.status == "success"){
                }

                else {
                }
            }
        })
    });

$form_data[$i]['userid']應該是$form_data[$i]['id']

如此處定義:

'id' : $(tr).find('td:eq(6)').text()

或將后者更改為: 'userid' : $(tr).find('td:eq(6)').text()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM