2012-10-01 4 views
0

저는 사람들이 도시에서 이벤트를 게시 할 수있는 동적 페이지가 있습니다. 우리는 해당 페이지를 city.php라고 부를 것입니다. 페이지로 이동하려면 states.php에서 상태를 선택한 다음 allcities.php에서 도시를 선택해야합니다. 주 및 도시는 모두 mysql 데이터베이스에 있습니다. city.php 페이지에서 "이벤트 추가"를 클릭하면 city.php에 보여지는 이벤트를 만들고 추가 할 수있는 createevent.php로 이동합니다. 그러나 여기에 내가하고 싶은 것이 있습니다 :PHP 동적 페이지 생성/편집

나는 city.php가 그 도시에 대해 다른 것들을 게시하는 중심 지점이되도록하고 싶습니다. 나는 사건, 뉴스, 일 및 판매를위한 페이지를 원한다. city.php에서 events.php, news.php, jobs.php 및 sale.php와 같은 페이지로 이동하는 페이지 링크를 선택합니다. 어떻게 모든 페이지를 역동적으로 유지하고 선택된 도시와 관련이 있습니까? 나는 주변에서 놀았고 그것을 이해할 수 없었다.

+0

페이지 로딩 중입니다.상태 선택에 따라 도시를 동적으로로드하는 ajax 기반 시스템을 사용하도록 전환 한 다음 선택한 도시를 세션 변수에 저장하여 이후의 모든 페이지에서 사용할 수 있도록하십시오. –

답변

0

잘 모르겠는데 변수가 다른 페이지로 넘겨 지길 원하십니까? PHP의 세션 사용을 살펴보십시오. 세션은 매우 편리합니다. 기본적으로 각 사용자와 관련된 사이트 전체 변수를 가질 수 있습니다. 방금 전화/세션 변수에 액세스 할당 한 후

session_start(); 

을 그리고 : 각 페이지의 상단에 기본적으로

http://php.net/manual/en/features.sessions.php

단지 넣어

$_SESSION['city'] = $city; 

또는

echo $_SESSION['city']; 
+0

나는 이것이 내가 찾고있는 것일 수 있다고 생각한다. 일단 사용자가 페이지를 클릭하면 그 특정 도시에 대한 데이터베이스에 입력 된 모든 정보를 꺼내기위한 쿼리를 수행 할 수 있다고 생각한다. –

+0

데이터베이스를 질의 할 수있다. 매회 또는 세션 변수에 저장하십시오. 많은 양의 정보가있는 경우 매번 데이터베이스를 쿼리하는 것이 좋습니다. 세션 변수는 서버에서 메모리를 차지하므로 TOO를 많이 저장하지 않으려 고합니다. 세션 변수가 설정되어 페이지간에 옮겨집니다. –

+0

위선적 인 말투는 내가이 코멘트에서 원하는 것을하는 것처럼 보입니다. 여기에 새 글을 올리십시오 : http://stackoverflow.com/questions/12715547/how-to-correctly-use-sessions-for-dynamic-pages –

1

PHP에서 이와 같은 작업을 수행하는 데는 여러 가지 방법이 있습니다. 나는 개인적으로 당신의 방법에 동의하지 않습니다. 나는 네가 말하는 것처럼 보이는 것에 대해 잘못 될 수있다.

adam이 말한 것처럼 $ _SESSION이 염두에두고 있습니다. http://php.net/manual/en/features.cookies.php

을하거나 달러 (A $)의 _GET의 var과 같은 도시의 ID를 전달합니다 : 당신은 또한 $의 _COOKIE로 볼 수 http://www.yoursite.com/events.php?city=2

그런

$city_id = $_GET['city']; 
+0

중요성을 넘어가는 것 URL의 sitewide 변수는 일반적으로 꽤 kludgy이지만,이 경우에는 좋은 생각이라고 생각합니다. 독자는 쉽게 독자가 다른 도시로 쉽게 전환 할 수 있고 URL을 쉽게 이해할 수 있으며 북마크되거나 이메일이나 기타 자료에 붙여 넣어도 URL이 계속 올바른 위치로 이동한다는 것을 의미합니다. – octern

0

아주 일반적인하지만 키처럼 PHP에서 읽기 관계형 DB 구조에서. 표시가 쉽기 때문에 올바른 쿼리 작성을 위해 뉴스, 작업, 이벤트 테이블에 id_city이 있는지 확인하십시오.

귀하의 코멘트에 대한 답변으로

예 DB 스타일 :

SELECT id_city FROM cities WHERE city_slug = "washington" 
:

cities : id_city | city_name | city_slug | id_state 
events : id_event | id_city | event_name | other_event_data | ... 
jobs : id_jobs | id_city | job_name | job_salary | etc. 

그래서 사용자가 그리고 당신이를 조회 할 수 있습니다 yoursite.com/washington

에 클릭이 같은 (여기 워싱턴입니다) URL에서 온다

지금 id_city가 있습니다. 그럼 일자리가 있다면,

SELECT * FROM jobs WHERE id_city = "above gotten id_city" 

희망이 도움이됩니다.

+0

나는 이것을 두 번 읽었으며 여기서 뭐라 말했는지 모르겠다. –

+1

나는 그가 도시 선택을 기반으로 한 일자리, 뉴스, 이벤트를 저장하고 싶다면, 그가 데이터베이스를 사용하고 있다고 생각하는 것이 그리 멀지는 않다는 점을 주목했다. 이벤트, 뉴스 등을 만드는 동안 상대방을 위해 데이터베이스에 도시 ID를 게시하고 저장하면 선택한 도시와 관련된 모든 뉴스를 도시 ID가 게시 된 도시 ID와 동일한 위치로 가져 오는 것이 훨씬 쉽습니다. –

+0

예 데이터베이스를 사용하고 있는데, 다른 동적 페이지를 만드는 가장 좋은 방법은 무엇입니까, session_start는 그렇게하지 않는 것 같습니다. @yahya –