2012-03-21 10 views
8

Tengo el siguiente problema.¿Diseño del sistema para hacer coincidir la tienda registrada más cercana basada en el código postal?

Estoy creando un sistema de entrega en restaurantes.

Así que los restaurantes eligen los códigos postales que quieren entregar. Entonces en Boston, podrían elegir Ya sea Boston o Back Bay (un área específica de Boston con varios códigos postales ...).

Básicamente, el restaurante confirma las áreas que están dispuestos a servir marcando las cajas que se describen de la siguiente manera:

- Cambridge (ZIP CODE) 
- Boston (all of Boston) 
--- Back Bay (covers zip codes: 02...., 02.., 02..) 
--- North Boston (covers zip codes: 02145, 021..., 02..., 02..) 

usuarios escriben en sus códigos postales, y les coinciden con las áreas que se especifican restaurantes.

¿Cuál es la mejor manera de diseñar un sistema de este tipo? No creo que vaya en la dirección correcta ...

+4

mejor título de pregunta S.O nunca :-) –

+0

si un restaurante elige un área con nombre, ¿deben entregar a todos los zips incluidos? E, hipotéticamente, ¿cuántas áreas nombradas puede seleccionar un restaurante? Creo que usaría dos tablas, una que es solo dos columnas: zip y area, y luego otra donde cada entrada es un restaurante, unas pocas columnas para sus áreas elegibles, su lat, lng, etc. Entonces podría aceptar al usuario Ingresado ZIP, convertirlo en un área, luego consultar todos los restaurantes con esa área en la lista –

+0

La gente habría votado negativamente la pregunta basada en el título, pero el título es gracioso –

Respuesta

1

¿es esto solo para Boston o sería global? ¿Estarás buscando coincidencias exactas de código postal? ¿Qué sucede si alguien ingresa un código postal que no tiene, pero está dentro del rango de entrega? Yo recomendaría usar búsquedas de longitud/latitud.

Este podría ser un buen lugar para empezar: https://developers.google.com/maps/articles/phpsqlsearch

BTW: Estoy buscando hacer algo muy similar y lo más probable es utilizar el artículo mencionado anteriormente :) gracias por ayudarme también.

+1

Otra razón para hacerlo con una ubicación real (latitud y longitud) es que luego puede incluir restaurantes de las cercanías. Además, si ellos (los clientes) especifican una ubicación con mayor precisión, entonces un restaurante en un zip contiguo en realidad podría estar más cerca de ellos que uno en una parte remota de su propia área de código postal. –

Cuestiones relacionadas