我正在尝试使用名为“ increment_date”的MySQL表列在Codeigniter欢迎页面的底部获取JavaScript通知。

欢迎模型

function increment_date(){

        $this->db->select('last_name,increment_date');
        $this->db->from('tbl_officer');
        $this->db->where('tbl_officer.status=1 and increment_date>= DATE(now()) and increment_date<=DATE_ADD(DATE(now()), INTERVAL 31 DAY)');
        $query=  $this->db->get();

        if($query->num_rows()>0){
            return $query->result();
        }
    }


欢迎控制器

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller
{

    function __construct()
    {
        parent::__construct();
        $this->load->model('Welcome_Model');
    }
    public function index()
    {
        $this->load->view('header');
        $this->load->view('dashboard');
        $this->load->view('footer');

        $this->data['noti']=$this->Welcome_Model->increment_date();


    }
}


footer.php中提到的jquery.noty.packaged.js的URL如下:

<script src="<?php echo base_url(); ?>assets/js/notify/packaged/jquery.noty.packaged.js"></script>


欢迎视图(仪表板)

    <script type="text/javascript">
        $(document).ready(function() {
    <?php

    $now = new DateTime();

    //;

    if (!empty($noti)) {
        foreach ($noti as $noti_date) {
            $date = new DateTime($noti_date->increment_date);

            ?>
        generateNoty('warning','bottomLeft','Increment Date of <br> Officer 123 is.  <?= $noti_date->increment_date ?>;

            <?php
        }
    }

?>
    });

</script>


期望的输出

官员表中提供了一个递增日期->'2019-11-10',我想在一个月前在欢迎页面中通知此值。

但是通知没有在页面中通知。
可能出什么问题了?
谁能帮我 ?

最佳答案

您已将查询结果存储为$this->data['noti'],但没有将其传递给视图。 The docs show how to do that

在您的Controller方法中:

public function index() {

    $this->data['noti']=$this->Welcome_Model->increment_date();

    $this->load->view('header');
    $this->load->view('dashboard', $this->data);
    $this->load->view('footer');
}

09-19 02:28