- 에러 메시지 출력 제한 설정
- 배포 시 php.ini 파일의 display_errors = off // 개발할 때는 php.ini 파일의 display_errors = on
- 다른 페이지를 불러올 시 include_once(DIR .를 사용
- 조건이 없는 DB 조회 시 $result=$db->query($sql);와 같이 prepared를 사용하지 않고 조회한다.
- 조건이 있는 조회 시(where문) prepared를 사용하고 조회한다.
- DB값을 출력할 때 htmlspecialchars를 이용해 출력한다.
- 조회한 값을 사용 시 mysqli_fetch_array($result)와 같은 방식으로 사용한다.
- 참가하는 경기 가 다수이며 표가 깨질면 (100m 외 3개)와 같은 방식으로 사용한다.
- DB값을 수정하거나 추가할 때 trim을 이용해 앞뒤 공백을 없앤다.
- html 태그에 해당하는 헤더와 푸터와 같은 경우 include를 이용해 코드 길이를 줄인다.
- 현재 백엔드 JS 폴더 안 자바스크립트가 프론트쪽 자바스크립트와 같은 명의 파일이 있어 프론트측과 회의 필요함
- 코치 페이지와 역대 기록 페이지에서 검색 조건 중 경기 select 태그의 option 태그의 value 값이 DB랑 달라 문제가 있음
- 프론트 측 html안 주석으로 된 태그들은 필요한 주석인지 확인 필요
- 현재 코치 정보를 수정하거나 추가 할 때 생년월일, 성별, 나라, 직무를 텍스트로 입력해서 DB 저장에 문제가 있어 기본태그로 추가해둠->수정해줘
- 참가자 등록
- 테이블 오른쪽 하단을 통해 인적사항 기입 이후 등록
- 참가자 보기/수정/삭제
- 각 행의 오른쪽 보기/수정/삭제 버튼 클릭
- 조건 검색 기능
- 테이블 오른쪽 상단을 통해 조건 선택 이후 검색
- ID 발급
- 각 행 체크박스 체크 이후, 왼쪽 하단 ID발급 버튼 클릭
- 엑셀 입/출력
- 조건 검색 이후, 테이블 왼쪽 상단의 엑셀 입/출력 버튼 클릭
- 페이지 선택
- 페이지 당 행의 개수 선택
- 테이블 아래 숫자 클릭
- 결과가 저장된 후 수정시에 해당 기록에 신기록만 추가하고 싶을 시에는 해당 기록의 신기록칸을 누르면 팝업으로 신기록을 선택할 수 있는 창이 뜨고 해당 신기록을 고르면 된다.
- 신기록 삭제도 신기록칸을 눌러 삭제하면 된다.
- 결과가 저장된 후 기록을 수정하면 자동으로 신기록을 판별한다.
- 결과지에서 엑셀 출력과 pdf 출력이 가능하고 pdf는 현재 페이지에 보이는 기록이 출력된다.
- 기록의 상태에 따라 live와 offical이 각각 수정된다.
- 페이지주소양식 : add(Field/Track)Result(구분에 따라 숫자 추가).php?id=(해당경기의 schedule_id)
- 신기록은 1등만 기록되는 것이 아닌 기존 기록을 넘은 선수는 모두 등록된다.
- 릴레이 경기는 addTrackResult2.php에 릴레이를 제외한 나머지 트랙경기는 addTrackResult.php에서 등록한다.
- 자동입력 버튼을 누르면 파일을 불러올 수 있으며 계측기에서 받는 파일의 확장자는 txt이다.
- txt파일의 내용은 크게 단거리,장거리,릴레이별로 다르다. *각 txt파일 참고
- 릴레이는 각 주자별 기록이 들어온다고 가정하고 만들어져있으며 페이지와 db에는 합산기록만 기록된다.
- 1500m이상의 장거리는 레인 대신 선수의 등번호순서대로 처음에 정렬되어 있다.
- 자동입력을 통해 입력을 하고 각 선수별 비고나 경기 비고를 작성후 확인을 누르면 db에 기록이 저장된다.
- 높이뛰기,장대높이뛰기: addFieldResult3.php
- 멀리뛰기,세단뛰기: addFieldResult2.php
- 나머지 필드경기: addFieldResult.php
- 높이뛰기와 장대높이뛰기를 제외한 필드경기는 3차 시기이후에 필수적으로 순서 재정렬이 필요하고 이후 6차 시기에는 심판의 재량으로 실시할 수 있다.
- 순서 재정렬은 기본적으로 1
3차 시기중 최고기록순의 역순으로 순서가 정해지고 6차 시기에는 45차 시기의 기록을 가지고 선정한다. - 각 시기의 기록을 입력하면 자동으로 최고 기록이 계산되며 등수도 계산이 된다.
- 높이뛰기와 장대높이뛰기는 높이칸에 각 시기의 높이를 입력해야 되며 높이밑의 선수쪽 입력칸에는 X,O,-를 입력가능하다. 오른쪽의 기록 칸에는 자동으로 최고 기록을 입력한다.
- 높이뛰기는 record_live_record에 높이가 들어가고 record_trial에 성공여부가 기록된다.
- 멀리뛰기와 세단뛰기는 각 선수의 각 시기마다 풍속을 입력해야 한다.
- 경기결과는 각 선수가 기록한 기록이 종목,시기마다 등록이 되며 기본적으로 해당 경기의 종료시간이 빠를수록 하단에 위치한다.
- 기록 상태가 live result일 경우 결과를 수정가능하며 버튼을 클릭하면 선수가 기록한 경기의 결과를 수정할 수 있다.
- 현재는 기록 상태가 official result의 경우 수정이 불가능하게 버튼을 없애놓았지만 권한에 따라 가능하게 할 예정이다.
- 만약 official result를 수정해야 하는 경우 해당 종목에 해당하는 기록지로 바로 들어가야한다.
- 기록전환은 경기 종료 시간을 기준으로 30분이 지난 스케줄에 대하여 offical result로 일괄 전환한다.
- 엑셀출력은 현재 페이지에서 보여지는 기록을 엑셀로 변환시켜준다.
- 역대기록 목록은 세계신기록,세계U20신기록,아시아신기록,아시아U20신기록,대회신기록를 볼수있는 페이지이다.
- 현재 대회신기록은 기록을 받지 못해서 미입력상태이다.
- 대회기간동안 발생한 신기록은 맨뒤에 저장된다.
- 엑셀출력은 현재 페이지에서 보여지는 기록을 엑셀로 변환시켜준다.
- 경기 등록
- 테이블 오른쪽 하단을 통해 세부사항 기입 이후 등록
- 경기 삭제
- 각 행의 경기 삭제 버튼 클릭
- 조건 검색 기능
- 테이블 오른쪽 상단을 통해 조건 선택 이후 검색
- 엑셀 입/출력
- 조건 검색 이후, 테이블 왼쪽 상단의 엑셀 입/출력 버튼 클릭
- 페이지 선택
- 페이지 당 행의 개수 선택
- 테이블 아래 숫자 클릭
- 국가 등록
- 테이블 오른쪽 하단을 통해 세부사항 기입 이후 등록
- 국가 삭제
- 각 행의 국가 삭제 버튼 클릭
- 검색 기능
- 테이블 오른쪽 상단을 통해 검색
- 엑셀 입/출력
- 조건 검색 이후, 테이블 왼쪽 상단의 엑셀 입/출력 버튼 클릭
- 페이지 선택
- 페이지 당 행의 개수 선택
- 테이블 아래 숫자 클릭
- 자동 경기 생성
- 맨처음 예선, 결승(결승만 있는 경기) 대분류 생성
- 일정(대분류) 등록
- 테이블 오른쪽 하단을 통해 세부사항 기입 이후 등록
- 일정 삭제
- 각 행의 경기 삭제 버튼 클릭(해당 레코드들과 해당 스케줄들 다 삭제)
- 일정 수정
- 각 행의 경기(대분류) 수정 버튼 클릭
- 조편성하기 버튼(릴레이 구현 X)
- 각 행의 조편성하기 버튼 클릭
- 조 편성 하기 페이지 : 조편성 방식 - 수동 등록, 조 개수 선택 - (필드와 종합경기, 그리고 트랙경기의 3000m 이상일 경우 1개의 조만 보이도록 함) -> 수동 등록 페이지 : 선수 이름, 선수 국가, 선수 소속 모두 DB값대로 올바르게 입력(순서대로 클릭하면 됨 (ex)1번째 Amir Shaker, 1번째 IRN, 1번째 TTF), 중복된 선수 등록 시 안 되게 설정, 수동 등록 페이지에서 +, -가 각 조마다 되지 않고 모든 조가 같이 +,-가 됨)
- 상세 정보 버튼(높이뛰기 구현 X, 7종 경기 순위 출력 X)
- 각 행의 상세정보 버튼 클릭
- start list일 경우에만 순서 변경 가능(트랙 경기(릴레이 제외), 필드 경기, 종합 경기 가능)
- official result이고, 다음 라운드가 있는 경기만 다음 조 편성 버튼이 보임-> 클릭 시 ex)100m 예선 경기 이후일 경우, {'준결승'-'2'-'8'} 입력 후 등록->일정 목록에서 생성된 100m 준결승을 볼 수 있음
- 모든 조 초기화 버튼 : 이전 경기에서 DNS나 DQ 등이 된 선수가 있을 시 제외하고 다시 조편성이 됨
- 조건 검색 기능
- 테이블 오른쪽 상단을 통해 조건 선택 이후 검색
- 엑셀 입/출력
- 조건 검색 이후, 테이블 왼쪽 상단의 엑셀 입/출력 버튼 클릭
- 페이지 선택
- 페이지 당 행의 개수 선택
- 테이블 아래 숫자 클릭
- _페이징 기능 오류 발생, 수정요망!
-
스타트 리스트에서 레인번호와, 선수이름, 국가와 국기사진을 볼 수 있도록 했고, live result에서 종목, 성별, 라운드, 세계기록을 볼 수 있다. 비고에는 신기록 여부가 기록된다.
-
메달 버튼은 라운드가 결승인 경기의 official result의 페이지에만 medal 버튼이 생성된다.
-
짧은 트랙경기(100m, 100m허들, 110m허들, 200m, 400m, 400m 허들)
- 경기의 풍속을 볼 수 있다.
-
긴 트랙경기(800m, 1500m, 2000m, 3000m, 3000m장애물, 5000m, 10000m / 경보)
- 한 경기에 참가하는 선수의 수 8명을 초과할 때 한 페이지에 8명 씩 보여주고, 'page1' 버튼을 누르면 순번이 앞인 8명을 볼 수 있고, 'page2'를 누르면 다음을 볼 수 있다. 버튼의 갯수는 참여자 수에 따라 동적으로 변한다.
-
릴레이(4x100릴레이, 4x400릴레이)
- start list, live result, official result 세 페이지 모두 레인은 하나, 선수 4명의 이름, 국가, 국기를 볼 수 있다.
- 한 화면에 출력되는 내용이 너무 많기때문에 긴 트랙경기와 같이 버튼을 넣어 수정할 예정이다.
-
뛰기(멀리뛰기, 세단뛰기, 높이뛰기, 장대높이뛰기)
- 멀리뛰기와, 세단뛰기만 live result와 official result에 풍속이 기록된다.
- 시기가 존재하는 종목으로 'time1'버튼을 누르면 첫번째 시기의 기록을 볼 수 있다.
- 높이뛰기와 장대높이뛰기는 순위가 정해질 때까지 경기를 진행하는 종목이지만 6번의 시기가 존재하는 것으로 생각하고 만들었기때문에 수정이 필요하다.
-
던지기(원반던지기, 해머던지기, 창던지기, 투포환)
- 용기구의 무게가 기록된다.
- 시기가 존재하는 종목으로 'time1'버튼을 누르면 첫번째 시기의 기록을 볼 수 있다.
-
종합경기(10종 경기, 7종 경기)
- 종합경기는 경기를 선택할 때 라운드에서 세부 종목을 선택해야한다.
- 세부 종목 모두에서 medal 버튼을 볼 수 있고, 마지막 경기의 official result에서만 볼 수 있도록 수정할 예정이다.
-
시상식 페이지
- official result 페이지에서 medal 버튼을 누를 수 있다.
- Medal 버튼을 부르면 처음에 동메달 수상자의 정보면 출력되고, 은메달 버튼을 누르면 동메달과 은메달 수상자의 정보, 금메달을 누르면 금, 은, 동 수상자 셋 모두 출력된다.
-
짧은 트랙경기:100m m 결승 1
-
긴 트랙경기:1500m m 예선 1
-
릴레이:4x400mR m 예선 1
-
뛰기:longjump m 예선 1
-
던지기: shotpu m 결승 1
-
종합경기: decatlon m 1500m 1
-
등록 기능
- 등록시에는 '태블릿 사용 심판' 체크박스를 클릭 했을 경우에만 등록이 가능하며 ID가 중복될 경우 등록 버튼을 누르면 ID가 중복되었다는 박스가 표시되고, 등록이 되지 않는다.
- 등록시에는 참가예정경기만 존재하며, 이후 수정을 통해서 참석 확정 경기를 등록하는 방식이다.
-
조건 검색 기능
- 검색은 국가, 소속, 성별, 참가예정경기, 이름으로 가능하며 직군(duty)과 지역(region)은 불가능하다.
-
엑셀 입/출력
- 조건 검색 이후, 테이블 왼쪽 상단의 엑셀 입/출력 버튼 클릭
-
ID 발급 기능
- 각 행의 체크박스를 클릭 후 1명씩만 ID 발급이 가능
-
수정 기능
- 수정의 경우 태블릿 사용 심판 여부를 체크 후에 수정이 가능하다. 기존 비밀번호의 해쉬 값이 페이지에 저장되어 있기 비밀번호 재수정이 필요하지 않다. 또한 수정 기능에서 '참석 확정 경기' 등록이 가능하다.
- 높이뛰기 간헐적으로 중간 기록 저장이 안됨
- 높이뛰기 기록 수정 안됨
- 높이뛰기 상위 높이에서 성공 입력 후 삭제시 이전 최고 기록으로 안 바뀜
- 기록경기 순서 재정렬 시 기록이 하나도 없이 X나 -로 채워진 경우 순서가 제대로 정렬이 안됨
- 기록경기 순서 재정렬 시 최종기록 안보임
- 기록경기 중간 저장시 기록 안보임
- 7종/10종 경기 각 세부 종목별 신기록 미보유 -> 현재 신기록 비교를 종합경기내가 아닌 실제 종목의 기록과 비교
- 기록경기 동기록 처리 안됨
- 7종/10종 경기 중 높이뛰기, 장대높이뛰기를 제외한 필드 경기에 최종기록 자동갱신js안됨
- 기록 결과지 엑셀 출력 미동작
- 기록 결과지 pdf변환시 참가인원이 많을 경우 페이지가 이상하게 나눠짐
- 스타트리스트 php로 미구현 html만 있음
- live_result보여주는 pdf에서 심판 싸인 칸 미구현
- 참가자 등록 시 참가자 국가 무조건 list_country 있는 국가로 등록하게 해야 함(구현이 돼있다면 DB값 변경해야 함)