2012-03-21 1 views
8

J'ai le problème suivant.La conception du système pour faire correspondre le magasin enregistré le plus proche basé sur le code postal?

Je crée un système de livraison de restaurant.

Ainsi, les restaurants choisissent les codes postaux qu'ils veulent livrer. Donc, à Boston, ils pourraient choisir soit Boston ou Back Bay (une zone spécifique de Boston avec plusieurs codes postaux ....).

Fondamentalement, le restaurant confirme les zones qu'ils sont prêts à servir en cochant des cases qui sont décrites comme suit:

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

Les utilisateurs tapent dans leurs codes postaux, et je les correspondent aux domaines que les restaurants spécifiés.

Quelle est la meilleure façon de concevoir un tel système? Je ne pense pas que je vais dans la bonne direction ...

+4

meilleur titre de question de S.O :-) –

+0

si un restaurant choisit une zone nommée, doit-il livrer à tous les zips contenus? Et, hypothétiquement, combien de zones nommées un restaurant peut-il sélectionner? Je pense que j'utiliserais deux tables, une qui n'est que deux colonnes: zip et area, et une autre où chaque entrée est un restaurant, quelques colonnes pour leurs zones éligibles, leur lat, lng, etc. Ensuite, vous pourriez accepter l'utilisateur entrée ZIP, le transformer en une zone, puis interroger tous les restaurants avec cette zone répertoriée –

+0

Les gens auraient downvoted la question basée sur le titre, Mais le titre est drôle –

Répondre

1

est-ce seulement pour Boston ou serait-ce global? Regarderez-vous des correspondances exactes de code postal? Que se passe-t-il si quelqu'un entre un code postal que vous n'avez pas, mais dans la fourchette de livraison? Je recommanderais d'utiliser des recherches de longitude/latitude.

Cela pourrait être un bon endroit pour commencer: https://developers.google.com/maps/articles/phpsqlsearch

BTW: Je cherche à faire quelque chose de très similaire et utilisera très probablement l'article référencé ci-dessus :) Merci de me aider aussi.

+1

Une autre raison de le faire avec l'emplacement réel (lat, long) est que vous pouvez alors inclure des restaurants de zips à proximité. De même, s'ils (les clients) spécifient un emplacement avec une plus grande précision, alors un restaurant dans un zip adjacent peut être plus proche d'eux qu'un dans une partie éloignée de leur propre zone de code postal. –

Questions connexes