2017-01-09 10 views
-1

これは私の最初のStackOverFlowに関する質問であり、誰かがPHPを使って解決策を見つけるのを助けてくれることを願っています。
私は次のようにユーザーが作っている各トランザクションのトランザクション番号を生成したいと思います:あなたはこの次のスニペットを試すことができます特別な要件を伴うトランザクション番号の生成方法

Transaction number: JM-170100001 
JM= User ID 
17= Year 
01= Month 
00001= transaction number 

よろしく

+1

と5つの文字で 取引番号は、あなたの 'トランザクションはDBの主キーをnumber'ん必要ですか?どのように2つの文字の組み合わせユーザーIDを作成していますか? – Thamilan

+0

速い応答のThamilanに感謝します。 これは主キーであり、ユーザーに関しては、なぜ私はそれを2文字だけにすることを選んだのですか?そうでなければ私はそれを3文字にすることができます。 ありがとうございます –

答えて

2

$userID = "James"; 

// Insert into table which returns last_insert_id 

// $transactionNo = last_insert_id; (say 1) 

$uniqueValue = strtoupper(substr($userID, 0, 3)).date("-ym").sprintf("%05d",$transactionNo); 

// Update table with $uniqueValue where transaction_num = last_insert_id 

ので$uniqueValueが成り立ちます希望の値。 JAM-170100001


説明

  • strtoupperは - 上部
  • substrに文字列を変換 - 設け形式で現在の日付/時刻を表示 - 文字列
  • dateの 一部を返し
  • sprintf - 文字列をフォーマットする - ここにあなたが0パディング
+0

ありがとうございます 私はそれを試してみましょう。 –

関連する問題