2014-03-04 2 views
1

이것은 일반적으로 제가하고자하는 질문 유형이 아니지만 도전 과제를 발견하고이를 수행하는 방법에 대한 좋은 자료를 찾지 못해서 여기에 있습니다.PHP-Calendar/schedule 데이터베이스 구조

예약 된 약속을 표시하고 하루에 사용 가능한 슬롯이있는 곳에서 약속을 요청할 수있는 캘린더를 만들어야합니다. 실질적으로 나는이 캘린더/스케줄링 시스템을 구현하는 하나의 웹 사이트를 발견했다. 기본적으로, 앞면이 비슷한 것 : 나는 데이터베이스 마스터 아니다 이후

enter image description here

내가하는 데 문제가 있어요 것은 내가 가야하는 방법에 대한 최선의 방법을 생각할 수 없다,있다 이. 그러한 융통성을 허용하기 위해 어떤 종류의 표/필드가 필요한가요? 그날이 몇 분과 몇 분으로 나뉘어지지 않는다면 아무런 문제가 없을 것입니다.하지만 이것은 기능 요청입니다. 시간과 분이 포함 된 일을 나타내는 테이블이 있어야합니까?

이것이 최선의 방법에 대해 더 많은 통찰력을 제공 할 수있는 DB 전문가입니다.

NB. 사용자가 요청하는 약속 유형에 따라 약속 시간이 15 분에서 45 분까지 걸릴 수 있기 때문에 하루 중 1 시간마다 4 분기로 나뉩니다.

저는 DB 디자인이나 기타 아무것도 필요하지 않습니다. 시작점으로 사용할 수있는 간단한 설명 만 필요합니다. 모든 건설적인 답변을 수락하고 크게 감사 할 것입니다.

답변

1

이벤트 세부 정보를 테이블에 저장하기 만하면됩니다. 방금 표시된 기간을 오버랩하는 레코드 만 선택해야 달력을 표시 할 때

CREATE TABLE `event` (
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    `creator_user_id` INT UNSIGNED NOT NULL, 
    `start_at` DATETIME NOT NULL, 
    `finish_at` DATETIME NOT NULL, 
    `location_id` INT UNSIGNED NOT NULL, 
    `name` VARCHAR(50) NOT NULL, 
    `description` TEXT NULL, 
    PRIMARY KEY (`id`), 
    INDEX `start_at` (`start_at`), 
    INDEX `finish_at` (`finish_at`), 
    INDEX `location_id` (`location_id`) 
) 
COLLATE='latin1_swedish_ci' 
ENGINE=InnoDB; 

: 는 MySQL의에서이 같은 테이블 무언가를 창조 wolud.

+0

이 점에 대해 감사드립니다. 나는 그것에 대해 충분히 연구 할 생각을 가지고 있습니다. 다시 한 번 감사드립니다. – LogixMaster