2017-09-26 7 views
-1

「09」のような整数値をデータベースに保存する必要があります。この値は私のウェブサイトのフォームから来ています。 データベースは「9」のみを保存し、前に「0」は無視します。しかし、私は私のサイトのユーザーのためにいくつかのメンバーコードを生成する必要があるため、私は全長(サイズ)が必要です。 アイデアをお願いしますか?PHPの整数のサイズを維持する

+10

文字列で保存します。 '09'がそのままであれば、それはもはや数字として振る舞いません。 – apokryfos

+6

ヒント:整数には先行ゼロはありません。ストリングはそうです。 – tadman

+0

また、先頭のゼロが8進数として解釈されている問題にぶつかります – iainn

答えて

0

INTフィールドに先頭のゼロを格納することをお勧めします。 mysqlデータベースを使用している場合は、既存のINTフィールドをcolumn_name INT UNSIGNED ZEROFILL NULLに設定し直してください。を入力し、先行する0の整数を格納してください。

`column_name` INT UNSIGNED ZEROFILL 

OR

あなただけ/出力にそれを表示したい場合は、ちょうどあなたがやっているようINTを挿入し、

SELECT LPAD(your_integer_number, your_integer_number_length, 'fill_number') AS Member_Code; 

参照LPAD()のような先行ゼロで左パディングを作ります

0

データを保存: 1-フィールドが数値以外の文字が含まれている場合、拒否するJavaスクリプトの検証を行い数字のみを使用した場合の形

2 - から、それを文字列として取得します。

3- in DBは、その列をそのまま保存するための列型にします。

データを後でロードする: - この列のリストをこの列のIntに変換するOrderを使用して選択クエリをテールします(数値を保存する場合のみ)。

PS:先行ゼロが存在しない場合に数値的に最良の順序にするためのものです。

さらなるコードのヘルプをご希望の場合は、お気軽にお送りください。

関連する問題