在实施财政年度系统时,我遇到了完全不同的问题。 我的财政年度从01-04-2019开始至31-03-2020(印度财政年度)。现在,我想检查以前的月份是否被锁定,然后用户才能输入当前年份。例如
这是十月-第十个月。
数据库设计:
我想从上面得到LOCKED = 0的月份。
即如果当前月份为10,则系统仅从第4个月到第9个月进行检查。类似地,如果月份为2,则从4到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
我希望能够解决您的问题。?