目前我的项目收据编号是自动递增的。例如:1,2,3,... n 我想在财政年度前加工,以区分每年的接收人数。 比如,2016-17 / 1然后2016-17 / 2等等。 年份应根据财政年度(4月1日至3月31日假设为一年)进行变更。 一旦日期是4月1日,那么收据编号应该是2017-18 / 1然后2017-18 / 2,依此类推。 所以,我的问题是..是否有任何代码,我可以通过它没有前缀与年份。 非常感谢你。
<div style="float:left">
<label> Receipt No:</label>
<input type="text" class="form-control" style="width: 60% !important; color:#999999;" name="receipt_no" value="<?php
$query = mysql_query("SELECT `receipt_no` FROM tsurphus");
if(mysql_num_rows($query)>0){
$data = mysql_query("SELECT max(receipt_no)+1 FROM tsurphus");
$res = mysql_fetch_row($data);
echo $res[0];
echo $_POST['$res'];
}
else {
echo 1;
}
?>" readonly>
</div>
答案 0 :(得分:0)
所以从1/4到31/12你需要&lt; current_year&gt; - &lt; next_year&gt;从1/1 - 31/3&lt; last_year&gt; - &lt; current_year&gt;
<div style="float:left">
<label> Receipt No:</label>
<input type="text" class="form-control" style="width: 60% !important; color:#999999;" name="receipt_no" value="<?php
$curr_month = date('m');
if($curr_month >= 4 && $curr_month <= 12){
$year = date('Y') . '-' . date('y', strtotime("+1 year"));
} else {
$year = date("Y",strtotime("-1 year")) . '-' . date("y");;
}
echo $year.'/';
$query = mysql_query("SELECT `receipt_no` FROM tsurphus");
if(mysql_num_rows($query)>0){
$data = mysql_query("SELECT max(receipt_no)+1 FROM tsurphus");
$res = mysql_fetch_row($data);
echo $res[0];
echo $_POST['$res'];
}
else {
echo 1;
}
?>" readonly>
但即使财务状况发生变化,收据编号仍在继续。而不是继续收据号码,它应重置为1
您可以尝试获取当前年份的最大值计数器并使用它。像
这样的东西$query = mysql_query("SELECT `receipt_no` FROM tsurphus WHERE recipt_no LIKE '".$year."%'");
答案 1 :(得分:-2)
<?php
$query = mysql_query("SELECT `receipt_no` FROM tsurphus");
$fet=mysql_fetch_row($query);
$num=mysql_num_row($query);
$rno=$fet['receipt_no'];
$exp=explode("/",$rno);
if(date('m')>=4 && date('m')<=12){
$year=date('Y') . '-' . date('y', strtotime("+1 year"));
}else{
$year=date("Y",strtotime("-1 year")) . '-' . date("y");;
}
if($num==0){
$receiptno= $year."/1";
}else if(date('m')==4){
$receiptno= $year."/1";
}else{
$receiptno= $year."/".$exp[1]+1;
}
&GT;
试试这样。随你改变年份。