数据不会插入数据库(Codeigniter3)

时间:2018-01-21 18:54:20

标签: php database codeigniter insert codeigniter-3

我的问题是每次点击提交按钮数据都不会插入数据库

数据库配置文件配置得很好,但我不知道问题来自哪里

这是文件: 控制器:

class Store_items extends MX_Controller {

    function __construct() {
        parent::__construct();
    }

    function create() {

        $this->load->module('site_security');
        $this->site_security->_make_sure_is_admin();

        $update_id = $this->uri->segment(3);
        $submit = $this->input->post('submit', TRUE);
        if ($submit == "Submit") {
            $this->load->library('form_validation');
            $this->form_validation->set_rules('item_title', 'Item Title', 'required|max_length[240]');
            $this->form_validation->set_rules('item_price', 'Item Price', 'required|numeric');
            $this->form_validation->set_rules('was_price', 'Was Price', 'numeric');
            $this->form_validation->set_rules('item_description', 'Item Description', 'required');
            if ($this->form_validation->run($this) == TRUE) {
                $data = $this->fetch_data_from_post();
                if (is_numeric($update_id)) {
                    //update
                    $this->_update($update_id, $data);
                    $flash_msg = "Le produit est mise à jour avec succes.";

                    $value = '<div class="alert alert-success" >' . $flash_msg . '</div>';
                    $this->session->set_flashdata('item', '$value');
                    redirect('store_items/create/' . $update_id);
                } else {
                    // insert new item
                    $this->_insert($data);
                    $update_id = $this->get_max(); //recupere l'id du nouveau produit

                    $flash_msg = "Le produit est ins avec succs.";
                    $value = '<div class="alert alert-success" >' . $flash_msg . '</div>';

                    $this->session->set_flashdata('item', '$value');
                    redirect('store_items/create/' . $update_id);//remember the flash data

                }
            }
        }

        if ((is_numeric($update_id)) && ($submit != "Submit")) {
            $data = $this->fetch_data_from_db($update_id);

        } else {
            $data = $this->fetch_data_from_post();
        }

        if ( ! is_numeric($update_id)) {
            $data['headline'] = "Add new";
        } else {
            $data['headline'] = "update";
        }

        $data['update_id'] = $update_id;
        $data['flash'] = $this->session->flashdata('item');
        $data['view_module'] = "store_items";
        $data['view_file'] = "create";
        $this->load->module('templates');
        $this->templates->admin($data);

    }

    function manage() {
        $this->load->module('site_security');
        $this->site_security->_make_sure_is_admin();
        //echo"Manage";
        $data['view_module'] = "store_items";
        $data['view_file'] = "manage";
        $this->load->module('templates');
        $this->templates->admin($data);

    }

    function fetch_data_from_post() {

        $data['item_title'] = $this->input->post('item_title', TRUE);
        $data['item_price'] = $this->input->post('item_price', TRUE);
        $data['was_price'] = $this->input->post('was_price', TRUE);
        $data['item_description'] = $this->input->post('item_description', TRUE);

        return $data;
    }

    function fetch_data_from_db($update_id) {
        $query = $this->get_where($update_id);
        foreach ($query->result() as $row) {
            $data['item_title'] = $row->item_title;
            $data['item_url'] = $row->item_url;
            $data['item_price'] = $row->item_price;
            $data['item_description'] = $row->item_description;
            $data['big_pic'] = $row->big_pic;
            $data['small_pic'] = $row->small_pic;
            $data['was_price'] = $row->was_price;

        }
        if ( ! isset($data)) {
            $data = "";
        }

        return $data;

    }

    function get($order_by) {
        $this->load->model('mdl_store_items');
        $query = $this->mdl_store_items->get($order_by);

        return $query;
    }

    function get_with_limit($limit, $offset, $order_by) {
        $this->load->model('mdl_store_items');
        $query = $this->mdl_store_items->get_with_limit($limit, $offset, $order_by);

        return $query;
    }

    function get_where($id) {
        $this->load->model('mdl_store_items');
        $query = $this->mdl_store_items->get_where($id);

        return $query;
    }

    function get_where_custom($col, $value) {
        $this->load->model('mdl_store_items');
        $query = $this->mdl_store_items->get_where_custom($col, $value);

        return $query;
    }

    function _insert($data) {
        $this->load->model('mdl_store_items');
        $this->mdl_store_items->_insert($data);
    }

    function _update($id, $data) {
        $this->load->model('mdl_store_items');
        $this->mdl_store_items->_update($id, $data);
    }

    function _delete($id) {
        $this->load->model('mdl_store_items');
        $this->mdl_store_items->_delete($id);
    }

    function count_where($column, $value) {
        $this->load->model('mdl_store_items');
        $count = $this->mdl_store_items->count_where($column, $value);

        return $count;
    }

    function get_max() {
        $this->load->model('mdl_store_items');
        $max_id = $this->mdl_store_items->get_max();

        return $max_id;
    }

    function _custom_query($mysql_query) {
        $this->load->model('mdl_store_items');
        $query = $this->mdl_store_items->_custom_query($mysql_query);

        return $query;
    }
}

这里是名为Create.php的视图文件,我将插入所有数据 到数据库。

<h1> <? =$headline ?></h1>
<?= validation_errors("<p style='color: red;'>", "</p>") ?>

<?php
if (isset($flash)) {
    echo $flash;
}
?>
<div class="row-fluid sortable">
    <div class="box span12">
        <div class="box-header" data-original-title>
            <h2><i class="halflings-icon white edit"></i><span class="break"></span>Details du produit</h2>
            <div class="box-icon">
                <a href="#" class="btn-setting"><i class="halflings-icon white wrench"></i></a>
                <a href="#" class="btn-minimize"><i class="halflings-icon white chevron-up"></i></a>
                <a href="#" class="btn-close"><i class="halflings-icon white remove"></i></a>
            </div>
        </div>
        <div class="box-content">
            <?php $form_location = base_url() . "store_items/create/" . $update_id; ?>
            <form class="form-horizontal" action="<?= $form_location ?>">
                <fieldset>
                    <div class="control-group">
                        <label class="control-label" for="typeahead">Nom du produit</label>
                        <div class="controls">
                            <input type="text" class="span6" name="item_title" value="<?= $item_title ?>">
                        </div>
                    </div>
                    <div class="control-group">
                        <label class="control-label" for="typeahead">Prix du produit</label>
                        <div class="controls">
                            <input type="text" class="span1" name="item_price" value="<?= $item_price ?>">

                        </div>
                    </div>
                    <div class="control-group">
                        <label class="control-label" for="typeahead">Ancien prix</label>
                        <div class="controls">
                            <input type="text" class="span1" name="was_price" value="<?= $was_price ?>">

                        </div>
                    </div>
                    <div class="control-group hidden-phone">
                        <label class="control-label" for="textarea2">Description du produit</label>
                        <div class="controls">
                                <textarea class="form-control" rows="3" id="textarea2" name="item_description">
                                    <?php echo $item_description; ?>
                                </textarea>
                        </div>
                    </div>
                    <div class="form-actions">
                        <button type="submit" class="btn btn-primary" name="submit" value="Submit">Save changes</button>
                        <button type="reset" class="btn">Cancel</button>
                    </div>
                </fieldset>
            </form>
        </div>
    </div><!--/span-->
</div><!--/row-->

1 个答案:

答案 0 :(得分:0)

if ($this->form_validation->run($this) == TRUE)

run($this)更改为run()

Form_validation方法run()参数

$group (string) -- The name of the validation group to run