猿问

获取一年的记录数

我正在尝试编写一些 PHP 代码,以便当用户输入报价时,应用程序会查看报价表,计算当年提出的报价数量,然后将计数加 1,最终结果是提供一个那一年的唯一和连续报价编号。格式应该是 Q/YY/sequential number


//Insert New Q Reference

    //set standards

    $time=strtotime($values['QuoteDate']);

    $LongYear=date("Y",$time);

    $ShortYear=date("y",$time);


    //Get current number quotes for the year which quote was issued

    global $dal;

    $dal_table = $dal->Table("quotations"); 

    if ($values["QuoteDate"])

        { 

            $rstmp = CustomQuery("select count(*) as count1 from quotations where '$LongYear' = ".$LongYear); 

            $datatmp = db_fetch_array($rstmp); 

            $count_value = 0;   

            if ($datatmp["count1"]) $count_value = $datatmp["count1"];


            $values['QuoteReference'] = 'Q/'.$ShortYear.'/'.str_pad(($count_value+1), 4, '0', STR_PAD_LEFT);


        }

我遇到的问题是代码只是返回总序列号 + 1 并且没有考虑年份的计数!


看下面的截图,2018应该是Q/18/0001

慕妹3146593
浏览 133回答 1
1回答

梦里花落0921

在您的查询中,您正在比较'$LongYear' = ".$LongYear这将永远成功。您应该从列的值中比较年份:YEAR(QuoteDate) = ".$LongYear
随时随地看视频慕课网APP
我要回答