使用PHP在表单中创建运行编号
我想为每个表单创建一个带有参考编号或运行编号的表单。例如,第一种形式的参考号为“PPKT/01/14”,第二种形式的参考号为“PPKT/02/14”,第三种形式的参考号为“PPKT/03/14”,依此类推使用PHP在表单中创建运行编号,php,mysql,sql,Php,Mysql,Sql,我想为每个表单创建一个带有参考编号或运行编号的表单。例如,第一种形式的参考号为“PPKT/01/14”,第二种形式的参考号为“PPKT/02/14”,第三种形式的参考号为“PPKT/03/14”,依此类推 “PPKT”是固定的。“01,02,03,…”是运行编号。“14”是一年 这是我创建的代码。它起作用了。我的问题是:如果2014年底,我怎么才能停止运行编号“01,02,03,…”呢。我想把2015年的跑步号码改回“01”。代码下面的示例“PPKT/01/15”是数据库 <?php $c
<?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;
?>
$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);
}
我不明白你的意思。请解释一下细节。非常感谢。
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);
}