この状況を解決する方法がわかりません。問題は、zip_codes テーブルから場所を取得するために使用している OR 演算子にあります。たとえば、誰かが入力として「NY」と入力した場合、このフィールドだけを取得したいとします。
テーブルデータは次のようになります。
+------+-------+--------------------------------------+
| zip | state | city |
+------+-------+--------------------------------------+
| 12345| NY | Schenectady |
+------+-------+--------------------------------------+
たとえば、可能な入力は「NY」なので、クエリは次のようになります。
SELECT zip, state, city
FROM zip_codes
WHERE name = 'NY'
OR zip = 'NY'
OR city ='NY'
LIMIT 1
上記の場合、フィールドの状態のみを取得したいのは、ユーザーが状態のみを参照として設定することを意味するためです。「Schenectady」と入力した場合は都市フィールド、「12345」と入力した場合は郵便番号フィールドのみなどです。
はい、PHP で一連の if からこれを設定できますが、私が知らない SQL クエリがどこかにあるのかもしれません