0

zipcode 列を持つ MySQL データベースがあります。郵便番号には、5 桁のものと 9 桁のものがあります。フィールドが 9 文字の場合、5 文字目と 6 文字目の間にハイフンを挿入する必要があります。

55555 は 55555 のまま

999999999 は 99999-9999 になります

PHP でエコーするときに追加することもできますが、データベースの zipcode 列のデータにハイフンを追加できればより効率的です。

私はこれにアプローチする方法に途方に暮れています。MySQL クエリのヘルプに関する提案は大歓迎です。

4

2 に答える 2

0
<?php
$result = mysqli_query($link, "SELECT zipcode, id FROM table");
while($row = mysqli_fetch_assoc($result) {
    if(strlen($row['zipcode']) > 5) {
        $first_part = substr($row['zipcode'],0,5);
        $second_part = substr($row['zipcode'],5,9);
        $zipcode = $first_part.'-'.$second_part;
        $result2 = mysqli_query($link,"UPDATE table SET `zipcode` = $zipcode WHERE id = {$row['id']}");
    }
}

これは簡単な解決策であり、クエリでテーブル名を調整するだけで十分です。

于 2013-08-27T16:26:25.483 に答える