又是我,
在这种情况下,我有一个会计代码表 [ACCOUNTINGCODE],其中包含以下字段:
ACC1CUST(例如:IVMA)
ACC2DATE(例如:12)
ACC3NROFPROJ(例如:05)
ACC4USER(例如:JD)
让我解释。
这些是会计代码的示例:
IVMA-12-01-JD
IVMA-12-02-RP
IVMA-12-03-WD
IVMA-12-04-JD
ACC1CUST 填充了 [CUSTOMER] 的 NAMECODE。
ACC2DATE 是用户制作 [ACCOUNTINGCOE] 年份的 2 个结束编号。
ACC3NROFPROJ 是同一[CUSTOMER]在同一年的项目数。所以 ACC1CUST、ACC2DATE 和 ACC3NROFPROJ 相互依赖。
ACC4USER 是 [EXECUTOR] 的 NAMECODE,所以这在这里并不重要。
我做了一个生成器查询。此生成器在他在 [会计代码] 中拥有的 MAX 个项目上计数 +1。但我的代码不取决于年份(ACC2DATE)。因此,如果我已经拥有 IVMA-12-01-JD 并且接下来放置 IVMA-13,它将不会从 01 重新开始,而是从 02 继续。当然,因为我的代码正在检查 ACC1CUST 的项目数量。
我的查询是:
$projectcount="
SELECT accountingcode.custid, customer.custid, MAX(acc3nrofproj) as 'projects'
FROM accountingcode, customer
WHERE accountingcode.custid= customer.custid
AND customer.custid = '$custid'
";
$result3=mysql_query($projectcount) or die("query fout " . mysql_error() );
while( $record3=mysql_fetch_array($result3) )
{
$projectcount=$record3['projects'];
$projectcount = $projectcount+1;
$format = '%1$03s';
$formatprojectcount = sprintf($format, $projectcount);
}
但是,如果您开始一个在 ACC2DATE 中不存在的新的一年,这并没有什么不同。
任何人都知道我怎样才能做到这一点?
非常感谢您提前!
找到了
$projectcount="
SELECT accountingcode.custid, accountingcode.acc2date, MAX(acc3nrofproj) as 'projects'
FROM accountingcode, customer
WHERE accountingcode.custid= customer.custid
AND customer.custid = '$custid'
AND acc2date = '$formatdatefrom'
";
$result3=mysql_query($projectcount) or die("query fout " . mysql_error() );
while( $record3=mysql_fetch_array($result3) )
{
$projectcount=$record3['projects'];
$projectcount = $projectcount+1;
$format = '%1$03s';
$formatprojectcount = sprintf($format, $projectcount);
}