财政年度范围内的比赛月份

时间:2019-10-19 00:40:31

标签: php

在实施财政年度系统时,我遇到了完全不同的问题。 我的财政年度从01-04-2019开始至31-03-2020(印度财政年度)。现在,我想检查以前的月份是否被锁定,然后用户才能输入当前年份。例如

这是十月-第十个月。

数据库设计:

enter image description here

我想从上面得到LOCKED = 0的月份。

即如果当前月份为10,则系统仅从第4个月到第9个月进行检查。类似地,如果月份为2,则从4到1等进行检查。

1 个答案:

答案 0 :(得分:0)

好的,如果我对您的理解正确,那么您想显示被锁定的月份。 就我而言,我将使用if语句声明所有月份,并执行sql查询以检查根据当前月份从4锁定为月份的月份。

if($month == "10"){ //declared the month using number (1-12)
    $getmonths = $con->query("SELECT * FROM tablename BETWEEN month 4 and 9 WHERE locked = '0'") //i use between to get from month 4 to month 9
    or die(mysqli_error($con));
        while($row = $getmonths->fetch_assoc()){
        $month = $row['month'];
        print_r($month);} //i print out the months
    }
    else if($month == "2"){
        $getmonths = $con->query("SELECT * FROM tablename BETWEEN month 4 and 1 WHERE locked = '0'") //i use between to get from month 4 to month 1
        or die(mysqli_error($con));
        while($row = $getmonths->fetch_assoc()){
        $month = $row['month'];
        print_r($month);}
        }else{    
    echo"<script>alert('No Records Match...');</script>";
}

我查询的另一种方法是使用日期格式。

SELECT * FROM `dt_tb` WHERE month(dt) between '02' and '08'

上面的查询将返回一年中2月到8月之间所有月份的记录。我们还可以指定年份以及像这样的月份

SELECT * FROM `dt_tb` WHERE month(dt) between '02' and '08' and year(dt) between 2019 and 2020

我希望能够解决您的问题。?