使用ajax codeigniter php根据日期检索数据库值

Posted

技术标签:

【中文标题】使用ajax codeigniter php根据日期检索数据库值【英文标题】:retrieve database values based on dates using ajax codeigniter php 【发布时间】:2016-02-27 20:42:09 【问题描述】:

我想通过使用 codeigniter 根据表单上选择的日期范围使用 ajax 检索数据库值。场景非常简单。当用户从日期选择器中选择日期范围时,所需系统应回调 DB 以检索特定学生的报告,并将检索到的值填充到引导表中,而无需重新加载页面以获取数据。

查看考勤结账页面:-

数据库上的考勤表:-

【问题讨论】:

【参考方案1】:

php查询,

select *
from table_name
where date(date) between date('from date') and date('to date')

Ajax 用于此

$("#generate").on('click', function (e) 
    e.preventDefault();
    $.ajax(
        url: 'path to controller method',
        type: 'post',
        data: fromdate:$("#fromdate").val(),todate:$("#todate").val(),
        success: function (data) 
              alert(data);
        
    );
);

对于生成按钮,将 id 指定为生成,同时指定起始日期和截止日期

回显控制器中的内容,它将在data ajax 成功。您可以附加到所需的 div。

【讨论】:

你好 Nirajan .. 我已经实现了你的建议,但它似乎根本不起作用.. 我已经发布了我如何实现的整个代码.. 所以请给我正确的建议 @SumanDahal 哪个部分不起作用?什么是警报?? alert 根本没有给出任何结果。按钮被点击,但它没有显示任何警报 我已经通过修改我的控制器来测试警报,只需 echo 'name';它显示警报,但从数据库中检索不起作用... 我认为 ajax 不会将值发送到控制器。因为我还通过回显 $fromdate 、 $todate 和 $studentid 对其进行了测试...它只是向我显示空白警报.【参考方案2】:

function get_attendance_report()
        $studentid =$_POST['studentid'];
        $fromdate = date("Y-m-d", strtotime($_POST['fromdate']));
        $todate = date("Y-m-d", strtotime($_POST['todate']));

        $this->db->where('date >=', $fromdate);
        $this->db->where('date <=', $todate);
        $this->db->where('student_id =', $studentid);
        $attendance_reports = $this->db->get('attendance')->result_array();


        foreach ($attendance_reports as $row)
            echo '<tr>';
            echo  '<td>'.$row['date'].'</td>';
            echo   '<td>'.$row['status'].'</td>';
            echo   '<td>'.$row['remarks'].'</td>';
            echo '</tr>';
        
        
    

我就是这样做的......非常感谢@Niranjan

【讨论】:

【参考方案3】:

function get_attendance_report()
        $studentid =$_POST['studentid'];
        $fromdate = date("Y-m-d", strtotime($_POST['fromdate']));
        $todate = date("Y-m-d", strtotime($_POST['todate']));

        $this->db->where('date >=', $fromdate);
        $this->db->where('date <=', $todate);
        $this->db->where('student_id =', $studentid);
        $attendance_reports = $this->db->get('attendance')->result_array();


        foreach ($attendance_reports as $row)
            echo '<tr>';
            echo  '<td>'.$row['date'].'</td>';
            echo   '<td>'.$row['status'].'</td>';
            echo   '<td>'.$row['remarks'].'</td>';
            echo '</tr>';
        
        
    

【讨论】:

以上是关于使用ajax codeigniter php根据日期检索数据库值的主要内容,如果未能解决你的问题,请参考以下文章

PHP CodeIgniter AJAX

如何区分php(或codeigniter)中的ajax调用和浏览器请求?

使用 jquery / ajax 在 CodeIgniter 的控制器中调用函数

在 Codeigniter 中无需终端(无 AJAX)的页面加载时自动运行 PHP 服务器

codeigniter php 和 jquery - 如何从多个表中获取数据并通过 ajax 返回

使用 CodeIgniter 的 Ajax 驱动内容