2012-10-17 4 views
0

데이터베이스에 연결된 공석 달력이있는 웹 사이트를 개발 중입니다.월간 MySQL 달력 표시

MyTable 
-----------     
-dt date      
-mid smallint (ID for each month) 
-y smallint (year)   
-m tinyint (month)   
-d tinyint (day)     
-dw tinyint (day of week)   
-monthName varchar    
-isVacant binary 
-isWeekday binary 

가 나는 각 달 (MID)를 표시하는 웹 사이트에이 데이터를 표시 할 것이다 : 나는 다음과 같은 필드 2030 2012년 10월 1일에서 매일을 나열하는 테이블을 만들고 관리해야 행을 보여 주며 매일 비어 있거나 점령했는지 보여줍니다. 기본적으로 행에서 열로 데이터를 변환해야합니다.

나는 그것을 수행하는 쿼리를 찾았으나 지금까지 아무 것도 작동하지 않았습니다. 피벗 쿼리 예제를 다시 작성하려고 시도했지만 구문이 올바로 작동하지 않는 것 같습니다. 누구든지 이걸 도와 줄 수 있니? 여기

는 물건 모습입니다 : mysql calendar table - html table

+2

시도한 쿼리와 그 쿼리가 잘못된 것을 표시 할 수 있습니까? – Mark

+0

일부 샘플 데이터 ans 다음에 예상되는 결과를 게시 할 수 있습니까? – Taryn

+0

은 방금 데이터 샘플에 대한 링크와 내가 원하는 결과를 사용하여 질문을 편집했습니다. – Mat

답변

0

왜 MySQL의 쿼리에서 단일 행에 데이터를 얻을시겠습니까? 난 그냥 하루에 한 행에 PHP로 데이터를 가져올거야, 그리고 원하는 데이터를 정렬 PHP를 사용합니다. 아마 mysql 솔루션이 있지만, 그럴만한 가치가 있다고 생각하지는 않습니다. 배열을 채우면서 일을 반복하십시오.

+0

필자는 그러한 PHP를 작성한 경험이 아직 없지만 조언을 주셔서 감사합니다. – Mat

+0

쉽습니다. 'foreach ($ rows as $ row) {(여기서 월과 일을 알아라) $ array [$ month] [$ day] = value;}'. 세부 사항은 데이터베이스에 액세스하는 방법과 데이터를 정확히 수행 할 계획에 따라 다르지만 모든 것이 매우 기본적인 것입니다. 라이브러리를 통해 작업을 수행하지 않는 한 데이터베이스 액세스를 전혀 알 필요가 없다는 점은 아무것도 없습니다. – user1618143

0

나는 잘 모르겠지만 이것이 당신이 원하는 것 같아. 당신이 테이블 데이터 및 결과 샘플을 제공하면 더 좋을 것 수 :

select m, (case d when 1 then isVacant), (case d when 2 then isVacant), 
(case d when 3 then isVacant), ..... 
from MyTable 
group by m 
order by m 

편집 : 내가 정수 입력 필드로 isVacant 열을 생성 sqlfiddle 주에서보세요.

+0

여기가 있습니다. # 1064 - SQL 구문에 오류가 있습니다. 가장 가까운 구문을 사용하기 위해 MySQL 서버 버전에 해당하는 설명서를 확인하십시오.), (대문자 d가 2이면 isVacant), (대문자 d가 3 일 때 isVacant) tblcal 'from 1 행 – Mat

+0

@Mat에서 일부 데이터를 붙여 넣습니다. 귀하의 테이블 및 또한 원하는 결과를 설명하십시오 –

+0

이 망할 사이트는 내가 평판이 없으므로 내가 내 질문에 테이블을 작성하는 방법을 이해하지 못하기 때문에 내가 스크린 샷을 게시하게하지 않습니다. 내가 스크린 샷으로 이메일을 보내면 내 질문을 편집하겠습니까? – Mat