自动增加收据编号和年份

时间:2016-09-13 05:49:53

标签: php mysql

目前我的项目收据编号是自动递增的。例如: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>

2 个答案:

答案 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;

试试这样。随你改变年份。