Я пытаюсь отправить сообщение, когда вставляю данные в свою базу данных с помощью add_message("message",'success/danger');. Я ничего не получаю, даже когда запрос добавляет данные в БД.

Контроллер:

function add_nino() {

    $id_representante_submit = (int) $this->input->post('id_representante', TRUE);

    if ($id_representante_submit > 0) {

        $representante_data['id_representante'] = $this->input->post('id_representante', TRUE);
        $representante_data['id_nino'] = $this->input->post('nino', TRUE);
        $representante_data['id_parentesco'] = $this->input->post('parentesco', TRUE);

        $result = $this->representante->add_nino($representante_data);

        if($result){
            add_message("Test", 'success');
        } else {
            add_message("Test1", 'danger');
        }
    }
    $this->load->view('representante/add_nino_repre');
}

Модель:

function add_nino($representante_data) {

    $this->db->insert('nino_padre', $representante_data);

}
1
Dan23 4 Мар 2015 в 23:53

2 ответа

Лучший ответ

Вашей модели нужно что-то вернуть. Попробуйте отредактировать свою модель следующим образом:

function add_nino($representante_data) {
    $this->db->insert('nino_padre', $representante_data);
    if($this->db->affected_rows() > 0){
        return true;
    } else {
        return false;
    }
}

ОБНОВЛЕНИЕ: и ваш контроллер

function add_nino() {

    $id_representante_submit = (int) $this->input->post('id_representante', TRUE);

    if ($id_representante_submit > 0) {

        $representante_data['id_representante'] = $this->input->post('id_representante', TRUE);
        $representante_data['id_nino'] = $this->input->post('nino', TRUE);
        $representante_data['id_parentesco'] = $this->input->post('parentesco', TRUE);

        $result = $this->representante->add_nino($representante_data);

        if($result){
            $data = array("message" => "success"); //sets variables in $data
        } else {
            $data = array("message" => "danger"); //sets variables in $data
        }
    }
    $this->load->view('representante/add_nino_repre', $data); //passes variables to view
}

Просмотр : submitante / add_nino_pre

<div>
    <?php
     if(isset($message)){
         echo $message;
     } 
    ?>
</div>
0
CodeGodie 5 Мар 2015 в 17:15

Если вы хотите добавлять предупреждения, как вы говорите, вероятно, лучше всего работать с jquery:

Ваш JS на ваш взгляд:

$(document).ready(function() {

    $("#myForm").submit(function() {
        var url = "myapp.com/index.php/add_nino";
        var postdata = $(this).serialize();
        $.post(url, postdata, function(result) {
            alert(result);
            if (result === "success") {
                location.href = "some other url";
            }
        });
        return false;
    });
});

И ваш контроллер:

function add_nino() {

    $id_representante_submit = (int) $this->input->post('id_representante', TRUE);

    if ($id_representante_submit > 0) {

        $representante_data['id_representante'] = $this->input->post('id_representante', TRUE);
        $representante_data['id_nino'] = $this->input->post('nino', TRUE);
        $representante_data['id_parentesco'] = $this->input->post('parentesco', TRUE);

        $result = $this->representante->add_nino($representante_data);

        if($result){
            echo "success";
        } else {
            echo "danger";
        }
    }
}
0
CodeGodie 5 Мар 2015 в 20:12