1

特定の郵便番号への送料を表示するページがあり、それをサイトのフォームに変換して、汚い仕事をしてユーザーに郵便番号の送料を提供しようとしています. ゾーンを検索するために必要ないため、zip の最後の 2 桁を取り除きます。私が持っているデータは、さまざまな郵便番号を示しています。たとえば、最初のエントリは、004 から 006 で始まるすべての郵便番号がゾーン 2 にあるということです。

明らかに、ある行に「004」、次の行「005」などのデータをリストするテーブルを作成したくありません。入力したzipを取得できるように、これを構造化する良い方法は何ですか?郵便番号の範囲と比較しますか?

私はPHPとsqlite3を使用していますが、これを構築するための最良の方法に頭を悩ませることはできません。一度やれば、問題なくコーディングできます。

4

1 に答える 1

3

郵便番号には数字が含まれていますが、数字としては意味がありません。合計することはできません。そのため、文字列として格納する必要があります。

それに基づいて、郵便番号範囲を開始範囲と終了範囲のフィールドに保存できます...つまり:

Zone |RangeStart | RangeEnd
   2 |       004 |      006

between句と比較した郵便番号データ

select * from address
     inner join zipcoderanges
     on substr(address.zipcode,1,3) between zipcoderanges.RangeStart and zipcoderanges.RangeEnd
于 2012-09-07T20:07:03.963 に答える