마이클래스 데이터베이스 구조'; echo ''; // 1. 모든 테이블 목록 echo '

1. 전체 테이블 목록

'; $tables = $pdo->query("SHOW TABLES")->fetchAll(PDO::FETCH_COLUMN); echo ''; foreach ($tables as $t) { echo ""; } echo '
테이블명
$t
'; // 2. edu_learning_goals 확인 echo '

2. edu_learning_goals 테이블

'; if (in_array('edu_learning_goals', $tables)) { echo '컬럼 구조:'; $cols = $pdo->query("SHOW COLUMNS FROM edu_learning_goals")->fetchAll(); echo ''; foreach ($cols as $c) { echo ""; } echo '
FieldTypeNullKeyDefault
{$c['Field']}{$c['Type']}{$c['Null']}{$c['Key']}{$c['Default']}
'; echo '샘플 데이터:'; $rows = $pdo->query("SELECT * FROM edu_learning_goals LIMIT 10")->fetchAll(); if ($rows) { $keys = array_keys($rows[0]); echo '' . implode('', array_map(fn($k) => "", $keys)) . ''; foreach ($rows as $r) { echo '' . implode('', array_map(fn($v) => '', $r)) . ''; } echo '
$k
' . htmlspecialchars((string)$v) . '
'; } else { echo '

데이터 없음

'; } } else { echo '

테이블 없음

'; } // 3. edu_goal_contents 확인 echo '

3. edu_goal_contents 테이블

'; if (in_array('edu_goal_contents', $tables)) { echo '컬럼 구조:'; $cols = $pdo->query("SHOW COLUMNS FROM edu_goal_contents")->fetchAll(); echo ''; foreach ($cols as $c) { echo ""; } echo '
FieldTypeNullKeyDefault
{$c['Field']}{$c['Type']}{$c['Null']}{$c['Key']}{$c['Default']}
'; echo '샘플 데이터:'; $rows = $pdo->query("SELECT * FROM edu_goal_contents LIMIT 20")->fetchAll(); if ($rows) { $keys = array_keys($rows[0]); echo '' . implode('', array_map(fn($k) => "", $keys)) . ''; foreach ($rows as $r) { echo '' . implode('', array_map(fn($v) => '', $r)) . ''; } echo '
$k
' . htmlspecialchars((string)$v) . '
'; // 통계 echo '통계:'; $stats = $pdo->query(" SELECT COUNT(DISTINCT goal_id) as goal_cnt, COUNT(DISTINCT content_id) as content_cnt, COUNT(*) as total_rows FROM edu_goal_contents ")->fetch(); echo '

총 goal_id: ' . $stats['goal_cnt'] . '

'; echo '

총 content_id: ' . $stats['content_cnt'] . '

'; echo '

전체 행: ' . $stats['total_rows'] . '

'; } else { echo '

데이터 없음

'; } } else { echo '

테이블 없음

'; } // 4. 관계도 확인 (learning_goals ↔ goal_contents) echo '

4. edu_learning_goals ↔ edu_goal_contents 연결

'; if (in_array('edu_learning_goals', $tables) && in_array('edu_goal_contents', $tables)) { echo '학습목표별 영상 수:'; $rows = $pdo->query(" SELECT g.goal_id, g.goal_name, COUNT(c.content_id) as video_count, GROUP_CONCAT(c.content_id ORDER BY c.sort_order) as content_ids FROM edu_learning_goals g LEFT JOIN edu_goal_contents c ON g.goal_id = c.goal_id GROUP BY g.goal_id, g.goal_name ORDER BY g.goal_id ")->fetchAll(); if ($rows) { echo ''; foreach ($rows as $r) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo '
goal_idgoal_name영상 수content_ids
{$r['goal_id']}{$r['goal_name']}{$r['video_count']}" . htmlspecialchars($r['content_ids'] ?? '') . "
'; } } // 5. 사용자 선택 목표 (if exists) echo '

5. 사용자별 선택된 학습목표

'; if (in_array('edu_user_goals', $tables)) { $cols = $pdo->query("SHOW COLUMNS FROM edu_user_goals")->fetchAll(); echo ''; foreach ($cols as $c) { echo ""; } echo '
FieldType
{$c['Field']}{$c['Type']}
'; } else if (in_array('edu_goal_user_select', $tables)) { $cols = $pdo->query("SHOW COLUMNS FROM edu_goal_user_select")->fetchAll(); echo ''; foreach ($cols as $c) { echo ""; } echo '
FieldType
{$c['Field']}{$c['Type']}
'; } else { echo '

사용자 선택 테이블을 찾을 수 없습니다.

'; } // 6. 영상 시청 기록 (learning status) echo '

6. 사용자 학습 진행상황 관련 테이블

'; $learningTables = ['edu_learning_progress', 'edu_user_learning', 'edu_learning_status']; foreach ($learningTables as $tbl) { if (in_array($tbl, $tables)) { echo "

$tbl

"; $cols = $pdo->query("SHOW COLUMNS FROM $tbl")->fetchAll(); echo ''; foreach ($cols as $c) { echo ""; } echo '
FieldType
{$c['Field']}{$c['Type']}
'; } } ?>