PHP 마법 학교 15기 3강: 과거로의 여행! ‘데이터 읽기 마법: SELECT 문으로 정보 불러오기’

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 어제 ‘추억 저금통’ 놀이를 통해 MySQL 도서관 선반에 소중한 정보를 저장하는 INSERT 마법을 배워보았죠? 오늘은 선반에 꽂힌 수많은 책 중에서 내가 원하는 책만 쏙 골라 읽어보는 ‘데이터 조회(SELECT) 마법’을 배워보겠습니다!

PHP 마법 학교 15기 3강: 과거로의 여행! '데이터 읽기 마법: SELECT 문으로 정보 불러오기'

1. SELECT 명령이란? “도서관에서 원하는 책을 찾아와요”

도서관에 책을 꽂기만 하고 다시 읽을 수 없다면 아무 소용이 없겠죠? SELECT는 데이터베이스에게 “‘게임 점수’ 선반에서 ‘닉네임’과 ‘점수’가 적힌 페이지를 복사해서 보여줘!”라고 부탁하는 마법이에요. 모든 정보를 다 가져올 수도 있고, WHERE라는 조건을 붙여서 특정 사람의 기록만 찾아낼 수도 있답니다.

2. 저장된 점수 목록 화면에 출력하기 (코드)

데이터베이스에 저장된 점수들을 가져와서 예쁜 표(Table)로 보여주는 코드를 작성해 봅시다. 사용자님께서 운영하시는 ‘Money Teatime’ 블로그의 포스팅 목록을 불러오거나, EduPad에서 우리 아이의 성적표를 보여줄 때 사용하는 아주 중요한 기술이에요!

<?php
// db_select.php: 정보 불러오기 마법

// 1. 도서관 연결
$conn = mysqli_connect("localhost", "wizard_user", "magic_pass123", "magic_school");

// 2. 도서관 선반에서 책을 고르는 주문서
// 점수가 높은 순서(DESC)로 5개만 가져와볼까요?
$sql = "SELECT nickname, score, reg_date FROM game_scores ORDER BY score DESC LIMIT 5";
$result = mysqli_query($conn, $sql);

echo "<div style='max-width:500px; margin:20px auto; font-family:Nanum Gothic;'>";
echo "<h2 style='color:#6c5ce7; text-align:center;'>🏆 명예의 전당 (Top 5)</h2>";
echo "<table style='width:100%; border-collapse:collapse; background:white; border-radius:10px; overflow:hidden; box-shadow:0 4px 15px rgba(0,0,0,0.1);'>";
echo "<tr style='background:#6c5ce7; color:white;'><th style='padding:10px;'>닉네임</th><th>점수</th><th>날짜</th></tr>";

// 3. 가져온 데이터를 한 줄씩 꺼내서 표에 그려요
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "<tr style='border-bottom:1px solid #eee; text-align:center;'>";
        echo "<td style='padding:10px;'>" . $row["nickname"]. "</td>";
        echo "<td style='font-weight:bold; color:#e74c3c;'>" . $row["score"]. "점</td>";
        echo "<td style='font-size:12px; color:#999;'>" . substr($row["reg_date"], 5, 5) . "</td>";
        echo "</tr>";
    }
} else {
    echo "<tr><td colspan='3' style='padding:20px; text-align:center;'>아직 기록이 없어요!</td></tr>";
}

echo "</table></div>";

mysqli_close($conn);
?>

3. 왜 데이터 조회 마법이 중요할까요?

데이터는 보여질 때 비로소 가치가 생기기 때문이에요!
1. 경쟁과 재미: 다른 친구들의 점수를 ‘명예의 전당’에서 확인하면 나도 더 잘하고 싶은 마음이 생기죠. 게임의 재미를 2배로 만들어줍니다.
2. 스마트한 분석: ‘Sigol Life’에서 빈집 정보를 조회하거나, ‘Running-to-Donation’에서 내 기부 총액을 확인하는 것처럼, 내가 보고 싶은 정보만 쏙쏙 뽑아보는 SELECT 마법은 모든 웹 서비스의 핵심입니다.

PHP 마법 학교 15기 3강: 과거로의 여행! '데이터 읽기 마법: SELECT 문으로 정보 불러오기'

4. 아이들과 함께하는 ‘추억 앨범 찾기’ 놀이

아이가 어릴 때 찍은 사진들이 가득 담긴 앨범을 가져오세요. 아빠가 조건을 제시하면 아이가 찾는 거예요. “파란 옷을 입고 웃고 있는 사진 찾아줘!”라고요. “네가 앨범에서 특정 사진을 고르는 행동이 코딩에서는 SELECT 마법이고, 파란 옷이라는 기준이 WHERE 조건이란다!”라고 설명해 주세요. 데이터 검색과 필터링의 개념을 아주 쉽게 이해하게 됩니다.

마치며: 과거를 기억하는 웹사이트

오늘 우리는 마법 도서관에 보관된 소중한 기록들을 다시 꺼내어 멋진 표로 보여주는 방법을 배웠습니다. 이제 우리 사이트는 과거의 기록을 뽐낼 수 있는 멋진 공간이 되었네요! 다음 시간에는 잘못 꽂힌 책을 고치거나 낡은 정보를 바꾸는 법, ‘데이터 수정 마법: UPDATE 문으로 정보 갱신하기’를 배워보겠습니다. 마법 수리공이 될 준비 되셨나요? 내일 아침에 만나요! ✨