-1

データベースにデータを保存しましたが、今それをフェッチしたいのですが、データの先頭にゼロがあり、データをフェッチするとゼロが削除されます。

たとえば、「0064」を保存し、それを取得すると「64」と表示されます。

       $sql1="select * from book where id='$code'";
       $result=mysqli_query($con,$sql1);
       if(!mysqli_query($con,$sql1))
       {
        die('error' .mysqli_error($con));
       }
       $row = mysqli_fetch_array( $result ,MYSQLI_ASSOC);

テキストボックスでフェッチしたいときは、次のコードを使用します。

 <input type="text" size="15"  value="<? echo $row['id'] ?>">

どうすればそれらのゼロを保持できますか? ありがとう

4

3 に答える 3

2

データベースからIDを取得した後、これらのゼロを追加します

str_pad($input, 4, $row['id'], STR_PAD_LEFT);

または、テーブル構造を再定義できます

id INT(4) ZEROFILL

同じ効果で。

重要なポイントは、数値を格納することですが、好きな形式で表示することです。

于 2013-06-19T07:44:40.633 に答える
-1

スキーマ構造を変更する必要があります。の代わりに、フィールドをまたはINTとして定義する必要があります。これにより、接頭辞としてゼロでデータを保存できます。整数フィールドはこれを行うことができません (Excel シートのように)。CHARVARCHAR

于 2013-06-19T07:45:58.233 に答える
-2

データを取得する前に、ID フィールドをvarchar. クエリは次のようになります。

 $sql1 = "select * from book where id LIKE '$code'";
 $result = mysqli_query($con,$sql1);
 if (!mysqli_query($con,$sql1)) {
   die('error' .mysqli_error($con));
 }
 $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
于 2013-06-19T07:44:32.767 に答える