DB설정 (내가 지정한 DB명은 20210318, table명은 board 이다.)
idx에 AUTO_INCREMENT를 준 이유는 자동으로 번호를 증가시키기 위함이다.
index.php 코드이다.
보통 메인 페이지를 index.php 혹은 index.html로 설정하는데, 나중에 로그인/회원가입 구현 페이지도 작성할 것이라면 해당 페이지는 main.php 정도로 작성해주는게 편하다. (로그인 페이지를 index.php로 구현하기 때문)
<?php
$db = mysqli_connect('127.0.0.1', 'root', '', '20210318'); //('본인 포트번호', 'db계정', 'db비밀번호', 'db명')으로 작성해준다.
$query ="select * from board";
$result = $db->query($query); //db에 연결한 정보를 result 변수에 담는다.
?>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>게시판</title>
<link rel="stylesheet" type="text/css" href="http://cafecj.daum-img.net/cafebackup/css/1/backup.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" >
</head>
<body style="margin:2% 25%;padding:19px 29px 19px;border:1px solid #eeeeee;height:auto;">
<div>
<a href="/board/main.php">
<p style="font-size:19px;color:#000000;">자유 게시판</p>
</a>
<a href="./write.php">
<input type="button" style="padding:5px 12px;Color:#ff5656;Background:#ffffff;font-size:14px;border:1px solid #e3e3e3;border-radius:2px;" value="글쓰기">
</a>
<div>
<table style="width:100%;margin-top:10px;border-top:1px solid #b0b0b0;">
<tr style="background:white;">
<th>No.</th>
<th><center>제목</center></th>
<th><center>작성자</center></th>
<th><center>작성일</center></th>
</tr>
<tbody>
<?php foreach ($result as $row) { ?> //위에서 담아둔 result 값을 row배열에 넣는다.
<tr onmouseover="this.style.background='#f8f8f8'" onmouseout="this.style.background='white'" style="border-bottom:1px solid #f7f7f7">
<td style="font-size:13px;padding:9px 2px;"><a href="./view.php?idx=<?php echo $row['idx']?>"><?php echo $row['idx'] ?></a></td> //나중에 작성할 view.php는 각각의 게시글의 번호를 받아와서 디테일을 보여주는 페이지다. 배열에 담은 페이지넘버(idx)로 연결할 수 있는 <a>태그를 작성해준다.
<td style="font-size:13px;padding:9px 5px;"><a href="./view.php?idx=<?php echo $row['idx']?>"><center><?php echo $row['subject'] ?></center></a></td>
<td style="font-size:13px;padding:9px 5px;"><center><?php echo $row['writer'] ?></center></td>
<td style="font-size:12px;padding:9px 5px;"><center><?php echo $row['reg_date'] ?></center></td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
<br>
<center>
<div id="search_box"> //게시글 검색 기능 구현 코드
<form action="search_check.php" method="get">
<select name="catgo" style="padding:4px;Color:#ff5656;border:1px solid #e3e3e3;border-radius:2px;">
<option value="subject">제목</option> //value에 담겨있는 값이 get방식으로 나중에 작성할 search_check.php에 넘어간다. search_check.php에서도 제목/글쓴이/내용을 연결하기 위함이다.
<option value="writer">글쓴이</option>
<option value="content">내용</option>
</select>
<input type="text" name="search" size="40" required="required" style="padding:4px;border:1px solid #e3e3e3;border-radius:2px;">
<input type="submit" style="padding:5px 12px;Color:#ffffff;Background:#ff5656;border:1px solid #e3e3e3;border-radius:2px;" value="검색"> //button의 type을 submit으로 주면 눌렀을 때, form을 작동한다.
</form>
</div>
</center>
</body>
</html>
게시글을 확인할 수 있고, 게시글을 작성하거나 검색할 수 있게 구현했다.
코드에서 <head>나 style은 css이기 때문에 당장은 이해하지 않아도 괜찮다.
완성한 화면
'Web > Dev' 카테고리의 다른 글
[MySQL] UNION, JOIN 차이 (0) | 2022.03.03 |
---|---|
[MySQL] JOIN - OUTER JOIN (LEFT+RIGHT) (0) | 2022.03.03 |
[MySQL] JOIN - LEFT/RIGHT JOIN (0) | 2022.03.02 |
[MySQL] JOIN - INNER JOIN (0) | 2022.03.02 |
[MySQL] SUM, MAX, MIN (0) | 2022.02.27 |
댓글