2010-12-13 3 views
0

나는 내 데이터베이스에 직접 액세스하고 테이블에서 값을 가져 오는 여러 페이지가 있습니다.MySQL은 GEO 위치를 기반으로 다른 값을 반환합니까?

사용자 지리적 위치에 따라 다른 값을 반환하고 싶습니다.

지리적 위치를 가져 오는 PHP 스크립트가 있지만이 논리를 추가하기 위해 데이터베이스에 액세스하는 모든 페이지를 추적하지 못하도록하는 방법을 찾고 있습니다.

사이트에서 MVC 아키텍처를 사용하고 있다면 로직을 모델에 추가 할 수 있습니다. 불행히도 그런 경우는 아닙니다.

내 질문은이 논리를 DB의 데이터에 액세스하는 모든 페이지에 추가하는 유일한 방법입니다. 아니면 내가 모르는 더 좋은 방법이 있습니까?

P.S. 내 질문 제목은 아마 내 문제에 대한 가장 좋은 설명이 아니지만 어떻게 말을해야할지 확신 할 수 없었습니다.

+0

db에 액세스하는 모든 페이지가 연결해야합니다. 연결을 수행하기 위해 포함 된 파일이 있습니까? 그렇다면 단순히 코드를 포함시킬 수 있습니다. 이 문장을 제외하고, 귀하의 사이트가 주요 리팩토링이 절실히 필요한 것처럼 들린다는 언급은하지 않겠습니다. – webbiedave

+0

@Webbiedave, 네, 연결을 처리하는 하나의 파일을 가지고 있습니다 만, 어떻게 그 페이지에있는 SELECT 문의 리턴 값에 영향을주는 로직을 추가 할 수 있습니까? 그리고 네, 리팩토링이 필요하다는 것을 알고 있습니다 :). 감사합니다 –

+0

@ 존 - 사용자의 위치 정보에 의해 국가 또는 도시를 의미합니까? 어느 수준에서 반환 값을 결정해야합니까? –

답변

0

데이터에 액세스하는 모든 페이지에 검색 로직을 추가 할 필요는 없지만 일반적인 페이지 (예 : 색인 페이지)에 추가 할 필요는 없습니다. 공통 페이지가 있습니까?

webbiedave처럼 데이터를 변경하기 위해 쿼리를 일부 변경해야합니다.

하나의 프로젝트에서 사용자 위치 기반 데이터 표시를 구현했습니다. 우리는 일부 교사들에 의해 취할 온라인 수업 목록을 보여 주어야했습니다. 클래스 목록은 브라우저/등록 된 사용자의 지리적 위치 (국가)에 따라 표시됩니다. 사용자 영역 (내가 추측하는 국가 내부)은이를 수행하기위한 기본 논리를 변경하지 않습니다. 우리는 또한 어떤 프레임 워크를 사용하지 않은, 그래서 나는이 당신을 위해 유용 할 수 있습니다 생각 : -

이것은 우리가했던 대략 무엇 : -

1. 지리적 위치 조작부 -
우리는이 index 모든 사용자 지리적 위치 조작 관련 코드가있는 모든 요청 (모든 모듈에 대해)에 대해 실행되는 파일 (프레임 워크의 프론트 컨트롤러와 같은). 다음은 조작 코드에 대한 요점입니다.
- 우리는 PHP 라이브러리를 사용하여 탐지를 수행했습니다. - 사용자 위치 (이 경우 국가)를 감지하고 세션에 저장합니다.
- 세션에 이미 저장되어있는 경우 다시/매번 검색하지 마십시오.
- 사용자 로그 아웃시 지리적 위치를 지우고 다시 검색합니다. 쿼리

2. 위치 의존 상태 - 지금 당신은 단지 한 곳에서 쿼리에 감지 된 위치를 추가하는 함수 안에 넣어, 그것에 위치 매개 변수를 추가하고 그것을에서 호출 할 필요가 당신의 기준 치수. 가능한 한 많은 기능을 재사용하십시오.

관련 문제