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

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

查看考勤结账页面:-

数据库上的考勤表:-

【问题讨论】:

    标签: php jquery mysql ajax codeigniter


    【解决方案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>';
              }
              
          }

      【讨论】:

        猜你喜欢
        • 2020-04-28
        • 1970-01-01
        • 1970-01-01
        • 2021-09-17
        • 1970-01-01
        • 1970-01-01
        • 2020-01-13
        • 2023-04-01
        • 1970-01-01
        相关资源
        最近更新 更多