마이클래스 데이터 연결 진단';
echo '';
// 1. edu_learning_goals 현황
echo '
1. 학습목표 현황 (edu_learning_goals)
';
$goals = $pdo->query("SELECT * FROM edu_learning_goals ORDER BY goal_code")->fetchAll();
echo '| goal_code | title | quarter | is_active |
';
foreach ($goals as $g) {
echo "| {$g['goal_code']} | {$g['title']} | {$g['quarter']} | {$g['is_active']} |
";
}
echo '
';
echo "총 {$goals} 개 목표
";
// 2. edu_contents 샘플 (영상 리스트)
echo '2. 콘텐츠 현황 (edu_contents)
';
$contents = $pdo->query("SELECT * FROM edu_contents LIMIT 20")->fetchAll();
echo '| content_id | title | category_group | content_url |
';
foreach ($contents as $c) {
echo "| {$c['content_id']} | {$c['title']} | {$c['category_group']} | " . substr($c['content_url'], 0, 50) . "... |
";
}
echo '
';
echo "총 " . $pdo->query("SELECT COUNT(*) FROM edu_contents")->fetchColumn() . " 개 영상
";
// 3. edu_goal_contents 현황
echo '3. 목표-콘텐츠 매핑 현황 (edu_goal_contents)
';
$goalContents = $pdo->query("SELECT COUNT(*) FROM edu_goal_contents")->fetchColumn();
if ($goalContents > 0) {
$rows = $pdo->query("SELECT * FROM edu_goal_contents LIMIT 20")->fetchAll();
echo '| goal_code | content_id | sort_order | is_active |
';
foreach ($rows as $r) {
echo "| {$r['goal_code']} | {$r['content_id']} | {$r['sort_order']} | {$r['is_active']} |
";
}
echo '
';
} else {
echo '⚠ 데이터 없음 - 맵핑이 필요합니다
';
}
// 4. edu_user_learning_goals 현황
echo '4. 사용자 목표 선택 (edu_user_learning_goals)
';
$userGoals = $pdo->query("SELECT COUNT(*) FROM edu_user_learning_goals")->fetchColumn();
if ($userGoals > 0) {
$rows = $pdo->query("SELECT * FROM edu_user_learning_goals LIMIT 20")->fetchAll();
echo '| member_id | goal_code | quarter | selected_at |
';
foreach ($rows as $r) {
echo "| {$r['member_id']} | {$r['goal_code']} | {$r['quarter']} | {$r['selected_at']} |
";
}
echo '
';
} else {
echo '⚠ 데이터 없음 - 사용자가 아직 목표를 선택하지 않았습니다
';
}
// 5. 액션 아이템
echo '5. 필요한 작업
';
echo '';
echo '- ✗ edu_goal_contents에 goal_code ↔ content_id 맵핑 데이터 INSERT
';
echo '- ✓ myclass_list.php: 사용자 선택 목표 조회 로직
';
echo '- ✓ myclass_list.php: edu_goal_contents에서 6개 영상 조회 로직
';
echo '- ✓ goal-layer.php: 목표 선택 모달 이벤트 처리
';
echo '- ✓ 새 API 또는 기존 API: 목표 선택 저장 (edu_user_learning_goals)
';
echo '
';
// 6. 권장 맵핑 규칙
echo '6. 맵핑 규칙 (제안)
';
echo '';
echo "각 goal_code마다 6개의 content_id 할당:
- 2026-001: content_id 1~6
- 2026-002: content_id 7~12
- 2026-003: content_id 13~18
- ...등등 (content_id가 있는 범위 내에서 균등 분배)
또는 현재 content_id 수에 따라 동적으로 분배
";
echo '
';
?>