使用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调用和浏览器请求?
使用 jquery / ajax 在 CodeIgniter 的控制器中调用函数
在 Codeigniter 中无需终端(无 AJAX)的页面加载时自动运行 PHP 服务器