EDU 키워드 상세 진단'; echo ''; // 1. edu_content_keywords 전체 unique keyword_code 목록 echo '

1. edu_content_keywords - 전체 unique keyword_code

'; $rows = $pdo->query(" SELECT keyword_code, COUNT(*) as cnt FROM edu_content_keywords WHERE is_active = '1' OR is_active IS NULL GROUP BY keyword_code ORDER BY keyword_code ")->fetchAll(); echo ''; foreach ($rows as $r) { echo ""; } echo '
keyword_code연결 콘텐츠 수
{$r['keyword_code']}{$r['cnt']}
'; // 2. edu_recommend_keywords 구조 및 데이터 echo '

2. edu_recommend_keywords 구조 및 데이터

'; $tables = $pdo->query("SHOW TABLES")->fetchAll(PDO::FETCH_COLUMN); if (in_array('edu_recommend_keywords', $tables)) { $cols = $pdo->query("SHOW COLUMNS FROM edu_recommend_keywords")->fetchAll(); echo '컬럼:
'; foreach ($cols as $c) { echo ""; } echo '
FieldTypeKeyDefault
{$c['Field']}{$c['Type']}{$c['Key']}{$c['Default']}
'; $rows = $pdo->query("SELECT * FROM edu_recommend_keywords 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) . '
'; } else { echo '

데이터 없음

'; } } else { echo '

테이블 없음

'; } // 3. edu_user_keywords 전체 데이터 echo '

3. edu_user_keywords 전체

'; $rows = $pdo->query("SELECT * FROM edu_user_keywords ORDER BY member_id, keyword_code")->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 '

데이터 없음

'; } // 4. edu_codes 에서 KW 계열 코드 확인 echo '

4. edu_codes - KW 계열 코드 (keyword 관련)

'; $rows = $pdo->query(" SELECT * FROM edu_codes WHERE base_code LIKE 'KW%' ORDER BY base_code ")->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 '

KW 계열 코드 없음

'; // edu_codes 전체 구조 확인 $cols = $pdo->query("SHOW COLUMNS FROM edu_codes")->fetchAll(); echo 'edu_codes 컬럼:'; foreach ($cols as $c) { echo ""; } echo '
FieldType
{$c['Field']}{$c['Type']}
'; // 샘플 10건 $sample = $pdo->query("SELECT * FROM edu_codes LIMIT 20")->fetchAll(); if ($sample) { $keys = array_keys($sample[0]); echo '' . implode('', array_map(fn($k) => "", $keys)) . ''; foreach ($sample as $r) { echo '' . implode('', array_map(fn($v) => '', $r)) . ''; } echo '
$k
' . htmlspecialchars((string)$v) . '
'; } } // 5. edu_code_group 구조 확인 echo '

5. edu_code_group

'; if (in_array('edu_code_group', $tables)) { $rows = $pdo->query("SELECT * FROM edu_code_group 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) . '
'; } } // 6. edu_contents 에서 keyword 관련 컬럼 값 샘플 echo '

6. edu_contents - category 관련 고유값

'; $rows = $pdo->query(" SELECT category_code, category_group, COUNT(*) as cnt FROM edu_contents GROUP BY category_code, category_group ORDER BY category_group, category_code ")->fetchAll(); echo ''; foreach ($rows as $r) { echo ""; } echo '
category_codecategory_group콘텐츠 수
{$r['category_code']}{$r['category_group']}{$r['cnt']}
'; // 7. edu_contents 중 keyword 연결된 영상 샘플 (edu_content_keywords join) echo '

7. edu_content_keywords ↔ edu_contents 조인 샘플

'; $rows = $pdo->query(" SELECT ck.keyword_code, c.content_id, c.title, c.category_group, c.content_url FROM edu_content_keywords ck JOIN edu_contents c ON c.content_id = ck.content_id WHERE ck.is_active = '1' ORDER BY ck.keyword_code, c.content_id 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) . '
'; } else { echo '

결과 없음

'; } // 8. index.php 에서 사용하는 main_data 관련 api 로그 (있으면) echo '

8. API 관련 파일 목록 확인

'; $apiDir = __DIR__ . '/api/'; if (is_dir($apiDir)) { foreach (scandir($apiDir) as $f) { if ($f === '.' || $f === '..') continue; $fpath = $apiDir . $f; $size = filesize($fpath); echo "
  • $f ({$size}bytes)
  • "; } }