Blog >> Development >> tv.dhgb.co.kr.
수료증 생성
- ‘wp_quizmaker_results’ 테이블에 기록되고,
- 수료데이터가 참조하는 레코드는 ‘wp_posts’ 수료증 구분 레코드 하나, 수료증배경을 기록한 첨부 레코드하나.
- ‘wp_posts’ 수료증 구분 레코드 하나는 ‘wp_postmeta’ 테이블에서 연관 레코드 4개를 가진다.
| 계층 | 대상 테이블 | 레코드 역할 및 핵심 필드 |
| 1. 수료 이력 데이터 | wp_quizmaker_results | 수강생의 수료 결과(id), 수강구분 번호(test_id: 1~8), 수료증 고유번호(cert_id) |
| 2. 수료증 CPT | wp_posts | post_type = 'certificate' (예: 5번, 9번 등 수료증 템플릿 메인 레코드) |
| 3. 배경 첨부파일 | wp_posts | post_type = 'attachment' (예: 13번, 203번 등 PNG 이미지 메타 레코드) |
| 4. 수료증 메타 설정 | wp_postmeta | 수료증 CPT ID에 1:1로 귀속되는 4개 핵심 설정값 |
수료증 CPT(post_type = ‘certificate’)에 귀속되는 wp_postmeta 4종
- _certificate_data: 이름, 수료일자, 발급번호 등 텍스트의 x, y 좌표 및 폰트 크기/색상 설정 배열
- _certificate_background: 위 3번 배경 첨부파일 레코드의 고유 ID (attachment 포스트 ID)
- certid: 해당 수료증 템플릿의 고유 난수 해시값 (예: 6A3F66E223)
- _edit_last: 최종 수정한 관리자 사용자 ID
]$ mysql wp_tvdhgb
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 552561
Server version: 10.11.15-MariaDB-log MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
phobe[wp_tvdhgb]>SELECT ID, post_title, post_name, post_type FROM wp_posts WHERE ID = '9';
+----+-----------------------------------+-----------+-------------+
| ID | post_title | post_name | post_type |
+----+-----------------------------------+-----------+-------------+
| 9 | 신규(집체)참여자 수료증 | cert-r4 | certificate |
+----+-----------------------------------+-----------+-------------+
1 row in set (0.000 sec)
phobe[wp_tvdhgb]>SELECT ID, post_title, post_name, post_type FROM wp_posts WHERE ID = '203';
+-----+------------+-----------+------------+
| ID | post_title | post_name | post_type |
+-----+------------+-----------+------------+
| 203 | rt4 | rt4 | attachment |
+-----+------------+-----------+------------+
1 row in set (0.000 sec)
phobe[wp_tvdhgb]>SELECT meta_id, post_id, meta_key FROM wp_postmeta WHERE post_id = 9;
+---------+---------+-------------------------+
| meta_id | post_id | meta_key |
+---------+---------+-------------------------+
| 761 | 9 | _edit_last |
| 762 | 9 | _certificate_background |
| 763 | 9 | _certificate_data |
| 764 | 9 | certid |
+---------+---------+-------------------------+
4 rows in set (0.000 sec)
phobe[wp_tvdhgb]>SELECT id, user_name, test_id, cert_id, user_birth, agency, class_id FROM wp_quizmaker_results WHERE id = 23;
+----+-----------+---------+------------+------------+-----------------------------+----------+
| id | user_name | test_id | cert_id | user_birth | agency | class_id |
+----+-----------+---------+------------+------------+-----------------------------+----------+
| 23 | 강**** | 2 | 6A3F66E223 | 19651101 | 경남*************관 | 54 |
+----+-----------+---------+------------+------------+-----------------------------+----------+
1 row in set (0.000 sec)
phobe[wp_tvdhgb]>SELECT id, user_id, user_name, user_birth, company_name, pdivi, pdivi_no, agency, agency_no FROM wp_ctime WHERE id = 54;
+----+---------+-----------+------------+--------------+-------------------------------+----------+-----------------------------+-----------+
| id | user_id | user_name | user_birth | company_name | pdivi | pdivi_no | agency | agency_no |
+----+---------+-----------+------------+--------------+-------------------------------+----------+-----------------------------+-----------+
| 54 | 104 | 강**** | ********* | | 신규참여자(집체혼합) | 2 | 경남**************관 | 26 |
+----+---------+-----------+------------+--------------+-------------------------------+----------+-----------------------------+-----------+
1 row in set (0.000 sec)
test_id -> ‘wp_ctime’ 테이블의 ‘pdivi_no’
agency -> ‘wp_ctime’ 테이블의 ‘agency’
전체 참조 및 렌더링 체인
- 다운로드 트리거: 사용자가 ?view-certificate=23 요청 전송
- 구분 코드 확인: wp_quizmaker_results의 23번 레코드 조회 -> test_id = 2 확인
- 수료증 매핑: cert-map.php의 get_pdivi_meta(2)가 수료증 포스트 ID = 9를 지정
- 배경 및 레이아웃 취득:
- 9번 포스트의 wp_postmeta에서 _certificate_background 조회 -> 203번(rt4.png) 파일 경로 획득
- _certificate_data를 읽어 텍스트 출력 좌표 획득
- 합성 및 출력: 이미지 위에 23번 수강생 정보(
강영미,cert_id)를 얹어 최종 수료증 파일 다운로드 완료
- 포스트 위치:
- Development
- tv.dhgb.co.kr
<< 이전 페이지



