-3

PHP mysql を使用して請求書を準備する必要があります。準備しましたが、私の問題は毎年請求書番号が最初にリセットされることです。

例: 2013 - 1、2013 - 2、2013 -3。2014-1、2014-2、2014-3。

私のテーブル

CREATE TABLE IF NOT EXISTS `gen` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`invno` int(11),
`prefix` varchar(500) DEFAULT NULL,
`year` year(4) DEFAULT NULL,
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`invno`,`year`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

コードは

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

$sql = "SELECT year FROM gen where year = '$year' ";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
$inv = '0';

if ($count == 0) {
    $inv = '0';
} else {
    $list = mysql_fetch_assoc($result);
    $inv = $list['invno'];
}

if ($inv == '0') {
    $inv = '1';
} else {
    $inv++;
}

echo $inv;

実行すると「1」が表示されます。テーブルにはさらに請求書があります。私は別のフィールドに年を設定しました。その年の請求書番号に行が見つからない場合、SQLクエリはテーブルの年をチェックし、それ以外の場合は前の番号をインクリメントする必要があると思います。

4

3 に答える 3