1

PHP で挿入レコード コードを作成している場合は、自動コードを作成する必要があります。そうしないと、ユーザーはテキスト ボックスの準備された値を見ることができます。このコードを使用するだけです。

$ayos = mysql_fetch_array(mysql_query("select ib_code from item_brand order by ib_code desc limit 1"));
            $new_val = $ayos['ib_code'] + 1;

表示するときは、次を使用します。

echo $ayos['ib_code'];

たとえば、出力は006です。私が解決できないのは、$ayos['ib_code'] = 006 の場合、$new_val が 007 に等しい場合に期待される結果を確認するために、テキスト ボックスに$new_valの値を表示しようとしたときでしたが、問題はテキストボックス内に表示する場合、007ではなく7のみ.. thx

私の問題thxみんなのスクリーンショット!

4

5 に答える 5

1

試す

左にゼロが埋め込まれた数値を表示したい場合は、printf()(またはその多数の親類の 1 つ) を使用することを検討してください。

テスト済みの例:

<?php
    $a = '006';
    $b = $a + 1;
?>
<input type="text" value="<?php printf("%03d", $b); ?>" />

上記のコードはテスト済みです。

sprintf()はそれを行うことができます:

echo sprintf('%03d', $ayos['ib_code']);

または使用str_pad()- ただし、コードでは少し長くなります。

echo str_pad($ayos['ib_code'], 3, 0, STR_PAD_LEFT);

ユーザーコメントへの対応

0006またはのような値がある場合000006は、上記のコードを以下のように使用できます。

<?php
    $a = '000006';
    $b = $a + 1;
?>
<input type="text" value="<?php printf("%0".strlen($a)."d", $b); ?>" />

私がやっていることはlength dynamically、将来の番号size increaseコードが期待どおりに機能する場合に渡すことです。

于 2013-02-19T04:21:41.607 に答える
0

+ 演算子を使用すると、PHP は強制的に変数を数値として解釈し、先頭のゼロを切り捨てます。おそらく、いくつかの興味深い文字列操作を行う必要があります。

于 2013-02-19T04:11:02.180 に答える
0

006ins に変換しnumberてから足すと、1となり7、 となる場合number it truncates zerosは左から0

echo str_pad($ayos['ib_code'], 3, "0", STR_PAD_LEFT); //becomes 007
于 2013-02-19T04:11:21.147 に答える
0

使用する$realnumber = intval($new_val);

echo $realnumber;

于 2013-02-19T04:13:44.240 に答える
0

$new_val以下のように変数を割り当てます。

//GET count of leading 0's into variable
$leading_zero_count = strspn($ayos['ib_code'], "0");    
$new_val = $ayos['ib_code']+1;
/** 
  * Pad the $new_val variable with 0's so that 
  * new length = total leading 0's + new length of $new_val
**/
$new_val = str_pad ($new_val, $leading_zero_count+strlen($new_val),0, STR_PAD_LEFT);
于 2013-02-19T04:20:25.517 に答える