-
我想为每个表单创建一个带有参考号或运行号的表单。例如,第一个表单的参考号是"PPKT/01/14",第二个表单是"PPKT/02/14",第三个表单是"PPKT/03/14",依此类推
-
"PPKT"已修复。"01,02,03,.."是连续编号。"14"是年份。
-
这是我创建的代码。它有效。我的问题是:如果2014年结束,我如何才能停止运行数字"01,02,03,.."。我想把2015年的运行数字从"01"开始。示例"PPKT/01/15"代码下面是数据库。
<?php $con=mysqli_connect("localhost","root","","info"); // Check connection if (mysqli_connect_error()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } function number($str) { preg_match_all("/[0-9]/",$str, $num); $num = implode("",$num[0]); return $num; } //declare variable $x="PPKT"; $y=date("y"); $sql="Select mp_id, reference_no from information". " ORDER BY mp_id DESC"; $result = mysqli_query($con,$sql) or die(mysqli_connect_error()); if (mysqli_num_rows($result) > 0) { $row = mysqli_fetch_array($result); $mp_id=$row['mp_id']; $reference_no=$row['reference_no']; $mystr=$mp_id; $b=substr($mystr,0,2); $j=number($mystr)+1; $z=sprintf("%02s",$j); //$d=$b.$z; } else { //will create if not in table //$b = $x; $z=sprintf("%02s",1); //$d=$b.$z; } // output $reference_no="$x/$z/$y"; echo "Reference Number => ".$reference_no; ?>
-
数据库信息:
CREATE table information ( mp_id int(4) NOT NULL, PRIMARY KEY' reference_no varchar(15) NOT NULL, name varchar(20) NOT NULL );
替换行:
$j=number($mystr)+1;
带有一个测试年份的条件语句。如果年份不同,则$j
为1,否则,您可以像原始代码中那样,通过在$mystr
中添加1来添加获取$j
。
新代码为:
if (mysqli_num_rows($result) > 0)
{
$row = mysqli_fetch_array($result);
$mp_id=$row['mp_id'];
$reference_no=$row['reference_no'];
$mystr=substr($reference_no,5,2);
$ref_year=substr($reference_no,-2);
if ($ref_year == $y) { // Checks if the year changed
$j=number($mystr)+1;
} else {
$j=1;
}
$z=sprintf("%02s",$j);
}