2017-03-26 1 views
-1
# Check arrary not empty 
    if (!empty($results)) { 
    $this->code($results); 

    // got the mail code from database 
    // which is PG-000001 
    // how do i add , like something PG-000001 ++ 
    } 

これはデータベースから結果を返します。私のデータベースからデータベースに戻ってくるコードとデータベースに戻ってくるコードを続けて書き続けるつもりです。データベースからコードを追加し続ける

PG-000001のようになりました。PG-000002のように追加して、それを更新してから、次回PG-000002から最大000003になるようにするにはどうすればいいですか?

どのようにしてPG-000001というテキストを追加しますか?

答えて

1

すべてのコードがこのように見える場合、実際にはそのように保存しないでください。最初のPG-は接頭辞にすぎないようです。実際の値を整数として格納する場合は、必要なだけ増分することができます。とにかく

、あなたの質問に対する解決策は、あなたが

  • には、第二部
  • ゼロ・パッドは、第二部
  • が再び
を組み合わせた文字列
  • 増分を分割する必要があるということです

    少しテストスクリプトです:

    $test='PG-000001'; 
    $pattern='/(.*-)(\d+)/'; 
    preg_match($pattern,$test,$matches); 
    list(,$prefix,$value)=$matches; 
    $value=sprintf('%06d',$value+1); 
    $test="$prefix$value"; 
    print $test; 
    

    翻訳:

    • /(.*-)(\d+)/
    • preg_match符号プレフィックス&に文字列を分割しますパターンであるパターンを適用し、アレイ$matchesに結果を返します。
    • $matches変数に元の文字列、アレイの2つのマッチ
    • list()コピーの要素を有します。先頭のカンマは最初の要素をスキップします
    • sprintfデータをフォーマットします。この場合、コード0〜パッド6桁
    • 二重引用符で囲まれた文字列は、データを簡単に再結合する方法です。
  • 関連する問題