Initial commit: 교육 프로젝트 배포
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
/**
|
||||
* 마이클래스 데이터 연결 진단
|
||||
*/
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
require_once __DIR__ . '/db_conn.php';
|
||||
$pdo = db_conn();
|
||||
|
||||
echo '<h1>마이클래스 데이터 연결 진단</h1>';
|
||||
echo '<style>
|
||||
body { font-family: Arial; margin: 20px; }
|
||||
table { border-collapse: collapse; margin: 20px 0; width: 100%; }
|
||||
th, td { border: 1px solid #ccc; padding: 8px; text-align: left; }
|
||||
th { background: #f0f0f0; }
|
||||
.ok { color: green; }
|
||||
.err { color: red; }
|
||||
.warn { color: orange; }
|
||||
</style>';
|
||||
|
||||
// 1. edu_learning_goals 현황
|
||||
echo '<h2>1. 학습목표 현황 (edu_learning_goals)</h2>';
|
||||
$goals = $pdo->query("SELECT * FROM edu_learning_goals ORDER BY goal_code")->fetchAll();
|
||||
echo '<table><tr><th>goal_code</th><th>title</th><th>quarter</th><th>is_active</th></tr>';
|
||||
foreach ($goals as $g) {
|
||||
echo "<tr><td>{$g['goal_code']}</td><td>{$g['title']}</td><td>{$g['quarter']}</td><td>{$g['is_active']}</td></tr>";
|
||||
}
|
||||
echo '</table>';
|
||||
echo "<p>총 {$goals} 개 목표</p>";
|
||||
|
||||
// 2. edu_contents 샘플 (영상 리스트)
|
||||
echo '<h2>2. 콘텐츠 현황 (edu_contents)</h2>';
|
||||
$contents = $pdo->query("SELECT * FROM edu_contents LIMIT 20")->fetchAll();
|
||||
echo '<table><tr><th>content_id</th><th>title</th><th>category_group</th><th>content_url</th></tr>';
|
||||
foreach ($contents as $c) {
|
||||
echo "<tr><td>{$c['content_id']}</td><td>{$c['title']}</td><td>{$c['category_group']}</td><td>" . substr($c['content_url'], 0, 50) . "...</td></tr>";
|
||||
}
|
||||
echo '</table>';
|
||||
echo "<p>총 " . $pdo->query("SELECT COUNT(*) FROM edu_contents")->fetchColumn() . " 개 영상</p>";
|
||||
|
||||
// 3. edu_goal_contents 현황
|
||||
echo '<h2>3. 목표-콘텐츠 매핑 현황 (edu_goal_contents)</h2>';
|
||||
$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 '<table><tr><th>goal_code</th><th>content_id</th><th>sort_order</th><th>is_active</th></tr>';
|
||||
foreach ($rows as $r) {
|
||||
echo "<tr><td>{$r['goal_code']}</td><td>{$r['content_id']}</td><td>{$r['sort_order']}</td><td>{$r['is_active']}</td></tr>";
|
||||
}
|
||||
echo '</table>';
|
||||
} else {
|
||||
echo '<p class="warn">⚠ 데이터 없음 - 맵핑이 필요합니다</p>';
|
||||
}
|
||||
|
||||
// 4. edu_user_learning_goals 현황
|
||||
echo '<h2>4. 사용자 목표 선택 (edu_user_learning_goals)</h2>';
|
||||
$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 '<table><tr><th>member_id</th><th>goal_code</th><th>quarter</th><th>selected_at</th></tr>';
|
||||
foreach ($rows as $r) {
|
||||
echo "<tr><td>{$r['member_id']}</td><td>{$r['goal_code']}</td><td>{$r['quarter']}</td><td>{$r['selected_at']}</td></tr>";
|
||||
}
|
||||
echo '</table>';
|
||||
} else {
|
||||
echo '<p class="warn">⚠ 데이터 없음 - 사용자가 아직 목표를 선택하지 않았습니다</p>';
|
||||
}
|
||||
|
||||
// 5. 액션 아이템
|
||||
echo '<h2>5. 필요한 작업</h2>';
|
||||
echo '<ol>';
|
||||
echo '<li>✗ edu_goal_contents에 goal_code ↔ content_id 맵핑 데이터 INSERT</li>';
|
||||
echo '<li>✓ myclass_list.php: 사용자 선택 목표 조회 로직</li>';
|
||||
echo '<li>✓ myclass_list.php: edu_goal_contents에서 6개 영상 조회 로직</li>';
|
||||
echo '<li>✓ goal-layer.php: 목표 선택 모달 이벤트 처리</li>';
|
||||
echo '<li>✓ 새 API 또는 기존 API: 목표 선택 저장 (edu_user_learning_goals)</li>';
|
||||
echo '</ol>';
|
||||
|
||||
// 6. 권장 맵핑 규칙
|
||||
echo '<h2>6. 맵핑 규칙 (제안)</h2>';
|
||||
echo '<pre>';
|
||||
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 '</pre>';
|
||||
?>
|
||||
Reference in New Issue
Block a user