首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据日期和日期过滤数据?

如何根据日期和日期过滤数据?
EN

Stack Overflow用户
提问于 2018-12-03 06:08:32
回答 2查看 104关注 0票数 0

这是我的构造查询,我需要基于日期和日期过滤数据,也需要基于adminid,我在这里有什么问题,还有其他方法吗?

代码语言:javascript
复制
function constructFilterQueryrelogin($paymentStatusCode, $appCode,$adminId,$fromDateId,$toDateId){
    $query = "";

    // From To Date Query for Updation Date
    $currentDateTime = date('Y-m-d H:i:s', time());
    $fromDateId      = date('Y-m-d H:i:s', strtotime('0 days', strtotime($fromDateId)));
    $toDateId        = date('Y-m-d H:i:s', strtotime('+ 1 days', strtotime($toDateId)));

    if(($_POST['fromDateId'] && $_POST['toDateId']) != ''){
        $query = "Login_Date >= '".$fromDateId."' AND Login_Date <= '".$toDateId."' ";
        } 
        else{
        $query = "Login_Date <= '".$currentDateTime."' ";
        }

    //get data based on executive_Id
    if($_POST['adminId'] != ''){
                $query = " Executive_Id = '".$_POST['adminId']."' ";
            }
            else{
                $query = "Null";
            }

    //Apps Filter Query
    if($_POST['appCode'] != ""){
        switch($_POST['appCode']){
            case 1: $query .= " AND App_Id LIKE '%".$_POST['appCode']."%' ";  break;
            default: $query .= " AND App_Id LIKE '%".$_POST['appCode']."%' ";
        }
    }
    // $filterApps = ($_GET['appCode'] != "") ? ' Where `App_Id` = '.$_GET['appCode'].' ' : "";

    //Payment Status Query  
    $currentDateTime   = date('Y-m-d H:i:s', time());
    $expiringTimeLimit = date('Y-m-d H:i:s', strtotime('+ 30 days', strtotime($currentDateTime)));

    switch($paymentStatusCode){
        case 1: $query .= " AND Max_Sub_End_Timestamp IS NULL ";  break;
        case 2: $query .= " AND Max_Sub_End_Timestamp <= '".$currentDateTime."' ";  break; 
        case 3: 
            $query .= " AND Max_Sub_End_Timestamp > '".$currentDateTime."' AND Max_Sub_End_Timestamp <= '".$expiringTimeLimit."' ";   break;
        case 4: $query .=  " AND Max_Sub_End_Timestamp > '".$expiringTimeLimit."' ";  break;
        default: $query .= "";
    }
    return $query;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-03 06:22:38

你不是在串连。你忘了“.”。也不需要附加'NULL‘。如果您不想使用executive_id做任何事情,那么就不要向构造的查询添加任何内容。

票数 0
EN

Stack Overflow用户

发布于 2018-12-03 06:27:15

为此需要采取两个步骤。

  • 在if(($_POST‘’fromDateId‘&& $_POST’‘toDateId’) != '')语句中,在"Login_date“之前添加空格
  • 删除“空”

祝好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53588348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档