일반적인 게시판은 게시물의 제목을 클릭하면 게시글을 상세히 보여준다.
준비작업을 해보자. 제목을 클릭하고 고유아이디를 넘겨주는 작업을 해보자.
<?php
ini_set( 'display_errors', '0' );
$hostname="localhost";
$dbuserid="testman";
$dbpasswd="1111";
$dbname="testdb";
$mysqli = new mysqli($hostname, $dbuserid, $dbpasswd, $dbname);
if ($mysqli->connect_errno) {
die('Connect Error: '.$mysqli->connect_error);
}
$result = $mysqli->query("select * from board") or die("query error => ".$mysqli->error);
while($rs = $result->fetch_object()){
$rsc[]=$rs;
}
// echo "<pre>";
// print_r($rsc);
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<title>게시판 리스트</title>
</head>
<body>
<table class="table" style="width:70%;margin:auto;">
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">글쓴이</th>
<th scope="col">제목</th>
<th scope="col">등록일</th>
</tr>
</thead>
<tbody>
<?php
$i=1;
foreach($rsc as $r){
?>
<tr>
<th scope="row"><?php echo $i++;?></th>
<td><?php echo $r->userid?></td>
<td><a href="/view.php?bid=<?php echo $r->bid;?>"><?php echo $r->subject?></a></td>
<td><?php echo $r->regdate?></td>
</tr>
<?php }?>
</tbody>
</table>
</body>
</html>
제목 부분에 링크를 달아주었고 bid값을 링크에 달아주었다.
링크가 생기면 이렇게 색깔이 생긴다.
링크를 클릭했을때 나타나는 페이지를 만들어보자.
링크를 보면 /view.php?bid=1 bid뒤에 숫자가 바뀐다. 게시물의 고유번호이다.
view.php에서는 이 고유번호 bid를 받아서 디비에 연결해 해당 게시물을 가져온다.
<?php
ini_set( 'display_errors', '0' );
$hostname="localhost";
$dbuserid="testman";
$dbpasswd="1111";
$dbname="testdb";
$mysqli = new mysqli($hostname, $dbuserid, $dbpasswd, $dbname);
if ($mysqli->connect_errno) {
die('Connect Error: '.$mysqli->connect_error);
}
$bid=$_GET["bid"];
$result = $mysqli->query("select * from board where bid=".$bid) or die("query error => ".$mysqli->error);
$rs = $result->fetch_object();
echo "<pre>";
print_r($rs);
?>
이렇게 만들어주고 view.php로 저장한다.
클릭해보면
이렇게 해당 게시물을 디비에 연결해서 저장된 값을 가져왔다. 이제 화면에 뿌려주기만하면 된다.
아래 소스로 수정하자. view.php
<?php
ini_set( 'display_errors', '0' );
$hostname="localhost";
$dbuserid="testman";
$dbpasswd="1111";
$dbname="testdb";
$mysqli = new mysqli($hostname, $dbuserid, $dbpasswd, $dbname);
if ($mysqli->connect_errno) {
die('Connect Error: '.$mysqli->connect_error);
}
$bid=$_GET["bid"];
$result = $mysqli->query("select * from board where bid=".$bid) or die("query error => ".$mysqli->error);
$rs = $result->fetch_object();
// echo "<pre>";
// print_r($rs);
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<title>게시판 보기</title>
</head>
<body>
<div class="col-md-8" style="margin:auto;padding:20px;">
<h3 class="pb-4 mb-4 fst-italic border-bottom" style="text-align:center;">
- 게시판 보기 -
</h3>
<article class="blog-post">
<h2 class="blog-post-title"><?php echo $rs->subject;?></h2>
<p class="blog-post-meta"><?php echo $rs->regdate;?> by <a href="#"><?php echo $rs->userid;?></a></p>
<hr>
<p>
<?php echo $rs->content;?>
</p>
<hr>
</article>
<nav class="blog-pagination" aria-label="Pagination">
<a class="btn btn-outline-primary" href="/index.php">목록</a>
<!-- <a class="btn btn-outline-secondary" href="#">답글</a> -->
</nav>
</div>
</body>
</html>
화면에 보이도록 디비에서 가져온 값을 찍어준다.
이렇게 보인다면 성공...
개발하다 힘들땐 눌러.
'PHP강좌 > 게시판만들기강좌' 카테고리의 다른 글
php+mysql 게시판 만들기 강좌 #6. 글쓰기 (0) | 2022.01.20 |
---|---|
php+mysql 게시판 만들기 강좌 #5. include (0) | 2022.01.20 |
php+mysql 게시판 만들기 강좌 #3. 게시글 리스트 출력 (0) | 2022.01.19 |
php+mysql 게시판 만들기 강좌 #2. 디비 연결 (0) | 2022.01.19 |
php+mysql 게시판 만들기 강좌 #1. 준비 (0) | 2022.01.17 |