2016-09-29 45 views
-2

如何使每天批号, 例如,今天我制造产品与无批次:如何每天制作一个独特的批号?

  1. produk A有批号=> 29092016-1
  2. produk B带批号=> 29092016 -2
  3. produk C带批号=> 29092016-3

TOMORROW无批次应该是:

  1. produk A有批号=> 30092016-1
  2. produk B带批号=> 30092016-2
  3. produk C带批号=> 30092016-3

后天无批次应是:

  1. produk A有批号=> 01102016-1
  2. produk B带批号=> 01102016-2
  3. produk C带BA tch number => 01102016-3

我该如何在PHP中编写代码?

我有代码,但没有工作:

$data_oto  = mysql_fetch_array(mysql_query("select max(id_batch2) as maksi from batch2")); 

function buatkode($nomor_terakhir, $kunci, $jumlah_karakter = 0){ 
$nomor_baru = intval(substr($nomor_terakhir, strlen($kunci))) + 1; 
$nomor_baru_plus_nol = str_pad($nomor_baru, $jumlah_karakter, "0", STR_PAD_LEFT); 
$kode = $kunci . $nomor_baru_plus_nol; 
return $kode;} 
$date_now=date('dmY'); 
$batch=buatkode($data_oto['maksi'],$date_now, 1); 

mysql_query("INSERT INTO batch2(id_batch2,id_item) VALUES('$batch','$_POST[item]')"); 
+1

您的意思是,您想知道每天创建ddmmyy-1的代码吗? –

+0

是的,我想知道代码 –

+1

转到PHP手册,并查找'日期' – charlietfl

回答

1

对于生成批处理代码,它是一个更好的方式来包含日期。但用于识别产品和及其批次应该更好地包括对整个代码的一些标准格式

首先6个字母=>日期

接下来三个字母=>使用任何产品标识码与前述识别产品零或任何符号对于实施例“P1”

接下来三个字母=>识别与前述零或任何符号对于实施例“B1”批次代码

可以通过以下的方法产生这样的:

$date = date("dmY"); 
$product_identification = "P1";//this can be replaced by your own variable 
$product_code = str_pad($product_identification, 3, "-", STR_PAD_LEFT); //Here "-" symbol used for preceding letters we can replace with 0 if required 
$batch_identification = "B1"; //this can be replaced by your own variable 
$batch_code = str_pad($batch_identification, 3, "-", STR_PAD_LEFT); //Here "-" symbol used for preceding letters we can replace with 0 if required 

$code = $date.$product_code.$batch_code; 

print $code; //will output 29092016-P1-B1 

基于此种方式,您可以自行生成此类代码

+0

哇,让这个问题复杂化的方式/回答: - 顺便说一句,喜欢它!大声笑 – Abela

+0

如何生成代码“B1”可以改变添加数据时? –

+0

“B1”是任何可以使用批次代码或批次标识号的字符串 –

1
$date = date("dmY"); 
for ($i = 1; $i <= n; $i++) { //n = number of products 
    $batchNumber = "$date-$i"; 
    echo $batchNumber; 
} 
+0

我试试这个,但添加数据时不工作,数据总是显示29092016-1,没有额外的。 –

+0

你说“-1”部分不变? –

+0

是的没有改变... –

1

所以你想一个DMY-X?

$i = 1; 
while ($i <= 3): 
    echo date('dmY') . '-' . $i.'<br>'; 
    $i++; 
endwhile; 
+0

是的,我想当我添加数据时“-x”改变,并且当天改变“-x”回到数字1 –

+0

你想让它们运行一次,还是每次发生在特定时间? – Abela

+0

我想在给定的时间每天运行一次 –

相关问题