PHP 마법 학교 3기 5강: 우리끼리 속닥속닥! ‘비밀 게시판과 데이터 목록 마법’

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 드디어 성문을 열고 들어오는 ‘로그인’ 마법까지 성공했네요! 오늘은 우리 학교 마법사들끼리 정보를 나누는 소중한 공간, ‘비밀 게시판’을 만들어보겠습니다. 보물 창고(DB)에 저장된 수많은 글을 한꺼번에 불러와 화면에 멋지게 뿌려주는 방법을 배워볼까요?

PHP 마법 학교 3기 5강: 우리끼리 속닥속닥! '비밀 게시판과 데이터 목록 마법'

1. 보물 창고 열기: SELECT 문

게시판을 만들려면 먼저 보물 창고(DB)에 저장된 글들을 가져와야 해요. 이때 사용하는 주문이 바로 SELECT입니다. “창고(board 테이블)에 있는 모든 정보를 가져와!”라고 명령하면 PHP가 쟁반에 담아서 우리에게 가져다준답니다.

2. 게시판 목록 불러오기 주문서 (코드)

데이터베이스에서 글 목록을 가져와서 표(Table) 형식으로 예쁘게 보여주는 코드를 작성해 봅시다.

<?php
  // list.php
  session_start();

  // 1. 보물 창고와 연결하기
  $conn = mysqli_connect("localhost", "root", "비밀번호", "magic_school");

  // 2. 창고에서 글 목록 몽땅 가져오기 (SELECT 주문)
  $sql = "SELECT * FROM board ORDER BY id DESC"; // 최신글이 위로 오게!
  $result = mysqli_query($conn, $sql);
?>

<!DOCTYPE html>
<html>
<body>
  <h2>📜 마법사의 비밀 게시판</h2>
  <table border="1" style="width:100%; border-collapse:collapse;">
    <tr style="background:#eee;">
      <th>번호</th><th>제목</th><th>작성자</th>
    </tr>
    <?php
      // 3. 반복문(while)으로 글을 하나씩 꺼내서 보여줘요
      while($row = mysqli_fetch_assoc($result)) {
        echo "<tr>";
        echo "<td>" . $row['id'] . "</td>";
        echo "<td>" . $row['title'] . "</td>";
        echo "<td>" . $row['writer'] . "</td>";
        echo "</tr>";
      }
    ?>
  </table>
</body>
</html>

3. while 문: “남은 글이 없을 때까지 반복!”

게시판에는 글이 1개일 수도, 100개일 수도 있죠? 이때 while 반복문을 사용하면 편리해요. “창고에서 꺼낼 글이 남아있는 동안은 계속 화면에 그려라!”라는 뜻이죠. 2기에서 배운 for 문보다 데이터 목록을 다룰 때 훨씬 유용한 마법이랍니다.

PHP 마법 학교 3기 5강: 우리끼리 속닥속닥! '비밀 게시판과 데이터 목록 마법'

4. 아이들과 함께하는 ‘우편함 확인’ 놀이

아파트 우편함을 상상해 보세요. 1층부터 꼭대기 층까지 우편함이 쫙 있죠? 하나씩 열어보면서 편지가 있으면 꺼내고, 없으면 멈추는 과정이 바로 while 문과 DB 목록 불러오기의 원리예요. 아이와 함께 바구니 속의 사탕을 하나씩 꺼내며 “남아있으면(while) 꺼내기!”라고 외쳐보세요. 프로그램이 어떻게 대량의 데이터를 처리하는지 금방 이해하게 됩니다.

마치며: 소통의 즐거움, 커뮤니티 완성!

이제 우리 학교 마법사들은 서로의 안부를 묻고 마법 주문을 공유할 수 있는 멋진 게시판을 가지게 되었습니다. 정말 훌륭해요! 하지만 글을 읽기만 하면 재미없겠죠? 다음 시간에는 실제로 내 생각을 글로 적어 창고에 넣는 ‘마법의 깃펜: 글쓰기 기능’을 배워보겠습니다. 다음 시간에 만나요!