简体   繁体   English

使用 codeIgniter 动态模板将值从控制器传递到视图

[英]Passing value from controller to view using codeIgniter dynamic template

how to parsing value from controller to view using CodeIgniter dynamic template like this?如何使用这样的 CodeIgniter 动态模板从控制器解析值以查看? I want to show the value after doing insert, but always got Undefined variable error in view page when I call the title and category.我想在插入后显示值,但是当我调用标题和类别时,总是在视图页面中出现未定义的变量错误。 This is my controller and view.这是我的控制器和视图。

Controller (AdminController.php)控制器 (AdminController.php)

class AdminController extends CI_Controller
{
    public function book_controller($param1 = '')
    {
        $page_data['page_name']       = 'book';
        $page_data['page_title']      = 'Book';
        $page_data['page_function']   = __FUNCTION__;
        $page_data['page_breadcrumb'] = generate_breadcrumb(array('Book'));

        if ($param1 == 'addBook') {
            
            $data['title']     = $this->input->post('title');
            $data['category']  = $this->input->post('category');

            $this->md_book->addBook($data);

            $this->load->view('book', $data);

        } else if ($param1 == 'updateBook') {
            //
        } else if ($param1 == 'deleteBook') {
            //
        } 

        $this->load->view('index', $page_data);
    }
}

View (book.php)查看 (book.php)

<script type="text/javascript">
    function add_function() {
        swal({
                title: "Save Book ?",
                type: "warning",
                showCancelButton: true,
                showLoaderOnConfirm: true,
                confirmButtonText: "Ya",
                closeOnConfirm: false
            },
            function() {
                $.ajax({
                    method: 'POST',
                    url: '<?php echo site_url('admincontroller/book_controller/addBook') ?>',
                    data: $('#add-form').serialize(),
                    dataType: 'json',
                    success: function(resp) {
                        if (resp['status'] == 'success') {
                            $("#add-form")[0].reset();
                        }
                        return swal({
                            html: true,
                            timer: 1300,
                            showConfirmButton: false,
                            title: resp['msg'],
                            type: resp['status'],

                        });
                    }
                });
            });
    }
</script>

<div class="body">
    <?php echo form_open('admincontroller', array('id' => 'add-form', 'autocomplete' => "off")); ?>
    /** form add book */
    <?php echo form_close(); ?>

    <h2>Book Added! </h2>
    <?php echo $title ?>
    <?php echo $category ?>
</div>

$page_data is variable for the template, and $data is variable for my input. $page_data 是模板的变量,$data 是我输入的变量。 The insert running well but I don't have idea how to pass the $data from parameter addBook to the view.插入运行良好,但我不知道如何将 $data 从参数 addBook 传递到视图。 Can someone help me?有人能帮我吗? Thank you.谢谢你。

Option 1 In the controller选项 1在控制器中

$data['title']     = $this->input->post('title')?$this->input->post('title'):'NA';
$data['category']  = $this->input->post('category')?$this->input->post('category'):'NA';

Option 2 In the View选项 2在视图中

<?php echo (isset($title) && $title !='')?$title:'NA'; ?>
<?php echo (isset($category) && $category !='')?$category:'NA'; ?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM