728x90
반응형
목차
완성된 모습
데이터 구조
userchattable(채팅 관리 데이터 베이스)
SID | unique key |
User_page_id | varchar |
Login_chat_id | varchar |
Chat_message | varchar |
Chat_date | DATETIME |
userboardtable(게시판 관리 데이터 베이스)
SID | unque key |
Login_board_id | varchar |
Create_board_date | DATETIME |
Board_chat | integer |
Board_thumb | ineger |
Board_view | integer |
아이디를 통해 연관된 데이터를 저장하고 데이터에 접근하였다.
게시판 테이블 코드 구현
<table class="list-table">
<thead>
<tr>
<th width="70">번호</th>
<th width="110">카테고리</th>
<th width="120">글쓴이</th>
<th width="500">작성일</th>
<th width="100">추천수</th>
<th width="100">조회수</th>
</tr>
</thead>
<tbody>
<?php
// 데이터베이스에서 가져온 각각의 레코드에 대해 반복하여 출력
$db = mysqli_connect('localhost', 'root', '', 'userdata') or die('Unable to connect. Check your connection parameters.');
$sql = mysqli_query($db, "SELECT * FROM userboardtable ORDER BY SID DESC LIMIT 0,10");
$num =1;
while ($board = mysqli_fetch_assoc($sql)) {
?>
<tr>
<td width="70"><?php echo $num ?></td>
<td width="110">
<?php echo "<a href='TodoView.php?Login_id={$_SESSION['Login_id']}&Login_board_id={$board['Login_board_id']}'/>"?><?php echo $board['Board_category']; ?>
</td>
<td width="120"><?php echo $board['Login_board_id']; ?></td>
<td width="500"><?php echo $board['Create_board_date']; ?></td>
<td width="100"><?php echo $board['Board_thumb']; ?></td>
<td width="100"><?php echo $board['Board_view']; ?></td>
</tr>
<?php
$num++;
}
?>
</tbody>
</table>
링크를 걸어 그 투두리스트 뷰 사이트로 이동할 수 있게한다.
댓글 테이블 코드 구현
<?php
session_start();
$db = mysqli_connect('localhost', 'root', '', 'userdata') or die('Unable to connect. Check your connection parameters.');
if(isset($_POST['submit'])){
$category = 'To-do';
$pageid = $_GET['Login_board_id']; //게시글 아이디
$id = $_SESSION['Login_id']; //로그인한 아이디
$chat = $_POST['comment'];
$time = date("Y-m-d H:i:s");
$query = "INSERT INTO userchattable (User_page_id, Login_chat_id, Login_chat_category, Chat_message, Chat_date) VALUES ( '$pageid', '$id','$category', '$chat', '$time')";
mysqli_query($db, $query) or die(mysqli_error($db));
header("Location: TodoView.php?Login_board_id={$_GET['Login_board_id']}");
exit;
}
?>
<div>
<?php
$User_page_id = $_GET['Login_board_id']; // 게시글 아이디
$login_chat_category = 'To-do'; // 게시글의 카테고리
$query = "SELECT * FROM userchattable WHERE User_page_id='$User_page_id' AND Login_chat_category='$login_chat_category'";
//카테고리와 게시글 아이디가 일치하는 데이터만
$result = mysqli_query($db, $query);
while ($row = mysqli_fetch_assoc($result)) {
echo "<div class='chat-title'><div>{$row['Login_chat_id']}</div>";
echo "<div>{$row['Chat_date']}</div></div>";
echo "<div class='chat-wrap'>";
echo "<div>{$row['Chat_message']}</div>";
echo "</div>";
}
?>
</div>
<div class="form-wrap">
<button class="comment-button" onclick="toggleForm()">댓글 쓰기</button>
<div class="comment-form">
<form id="commentForm" method="post" action="">
<textarea name="comment" placeholder="댓글을 입력하세요"></textarea>
<button class="addBtn" name="submit" type="submit">등록</button>
</form>
</div>
</div>
</div>
댓글을 쓰면 데이터에 추가가 되고 그 댓글 데이터에 접근해서 데이터를 가져오는 코드이다.
반응형
'프로젝트 > php 미니 프로젝트' 카테고리의 다른 글
[php][미니 개발자 소통 커뮤니티] 최종 (0) | 2024.05.26 |
---|---|
[php] 공부 정리 게시물 올리기 (0) | 2024.05.25 |
[php][js] 로그인 , 회원가입 페이지에 부가 기능 넣기(비밀 번호 확인, 비밀번호 표시) (1) | 2024.05.17 |
[php] 투두리스트 데이터를 추가해보자 (0) | 2024.05.15 |