PHP+MySQL 구현 첨삭 수정 조사
여기 PHP랑 MySQL로 하나를 이뤘어요개별 뉴스 관리 시스템의 첨삭 및 수정 검색 기능.
I. 데이터베이스
먼저 데이터베이스 만들기
2. 프로젝트 만들기
1. 나는 이클립스 내에서 작성한 PHP Project 프로젝트이며, 프로젝트 목록은 다음과 같습니다
여기서 php 플러그인을 다운로드해야 PHP 프로젝트 프로젝트를 만들 수 있는데, 플러그인을 다운로드하면 eclipse를 실행해 Help 아래의 Instal New Software를 메인 화면에서 찾아내는 절차다.그런 다음 Work with에서 "All Available Sites"를 선택하고 여기서 로딩이 느려서 기다린 후 web, xml, java EE, and OSGI…를 선택하여 PHP Development Tools(PDT) 소프트웨어를 찾습니다.체크하고 Next를 클릭합니다.이클립스를 다시 시작하면 된다.
2, 파일 dbconfig.php 작성, 데이터베이스 연결
<?php
define("HOST", "localhost");
define("USER", "root");
define("PASS", "root");
define("DBNAME", "news");
3. 홈 화면표시 파일 생성 index.php
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>뉴스 백그라운드 관리 시스템</title>
</head>
<style type="text/css">
.wrapper {
width: 1000px;
margin: 20px auto;
}
h2 {
text-align: center;
}
.add {
margin-bottom: 20px;
}
.add a {
text-decoration: none;
color: #fff;
background-color: red;
padding: 6px;
border-radius: 5px;
}
td {
text-align: center;
}
</style>
<body>
<div class="wrapper">
<h2>뉴스 백그라운드 관리 시스템</h2>
<div class="add">
<a href="addnews.php">뉴스를 늘리다</a>
</div>
<table width="980px" border="1">
<tr>
<th>ID</th>
<th>제목</th>
<th>키워드</th>
<th>작성자</th>
<th>발표 시간</th>
<th>내용</th>
<th>조작하다</th>
</tr>
<?php
// 1.프로필 가져오기件
require "dbconfig.php";
// 2. mysql 연결
$link = @mysql_connect(HOST,USER,PASS) or die("힌트: 데이터베이스 연결에 실패했습니다!");
// 데이터베이스 선택
mysql_select_db(DBNAME,$link);
// 인코딩 설정
mysql_set_charset('utf8',$link);
// 3. DBNAME에서 News 데이터베이스를 조회하여 데이터베이스 결과 세트를 반환하고 addtime 내림차순으로 정렬합니다
$sql = 'select * from tb_news order by id asc';
// 결과집
$result = mysql_query($sql,$link);
// var_dump($result);die;
// 해석 결과 세트, $row는 뉴스 모든 데이터, $newsNum은 뉴스 수
$newsNum=mysql_num_rows($result);
for($i=0; $i<$newsNum; $i++){
$row = mysql_fetch_assoc($result);
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['title']}</td>";
echo "<td>{$row['keywords']}</td>";
echo "<td>{$row['author']}</td>";
echo "<td>{$row['addtime']}</td>";
echo "<td>{$row['content']}</td>";
echo "<td>
<a href='javascript:del({$row['id']})'>삭제하다</a>
<a href='editnews.php?id={$row['id']}'>고치다</a>
</td>";
echo "</tr>";
}
// 5. 릴리스 결과 세트
mysql_free_result($result);
mysql_close($link);
?>
</table>
</div>
<script type="text/javascript">
function del(id) {
if (confirm("이 뉴스를 삭제하시겠습니까?")) {
window.location = "action-del.php?id=" + id;
}
}
</script>
</body>
</html>
4. 뉴스페이지 추가 addnews.php
<!DOCTYPE html>
<html>
<head lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>뉴스 추가</title>
</head>
<style type="text/css">
form {
margin: 20px;
}
</style>
<body>
<form action="action-addnews.php" method="post">
<label>제목:</label><input type="text" name="title"> <label>키워드:</label><input
type="text" name="keywords"> <label>작성자:</label><input type="text"
name="author"> <label>발표 시간:</label><input type="date" name="addtime">
<label>내용:</label><input type="text" name="content"> <input
type="submit" value="제출하다">
</form>
</body>
</html>
action-addnews.php
<?php
// 추가 작업을 위한 페이지 처리
require "dbconfig.php";
// mysql 연결
$link = @mysql_connect(HOST, USER, PASS) or die("힌트: 데이터베이스 연결에 실패했습니다!");
// 데이터베이스 선택
mysql_select_db(DBNAME, $link);
// 인코딩 설정
mysql_set_charset('utf8', $link);
// 늘어난 뉴스를 입수하다
$title = $_POST['title'];
$keywords = $_POST['keywords'];
$author = $_POST['author'];
$addtime = $_POST['addtime'];
$content = $_POST['content'];
// 데이터 삽입
mysql_query("INSERT INTO tb_news(title,keywords,author,addtime,content) VALUES ('$title','$keywords','$author','$addtime','$content')", $link) or die('데이터 추가 중 오류:' . mysql_error());
header("Location:index.php");
5. 뉴스 action-del.php 삭제
<?php
// 삭제 작업을 처리하는 페이지
require "dbconfig.php";
// mysql 연결
$link = @mysql_connect(HOST, USER, PASS) or die("힌트: 데이터베이스 연결 실패!");
// 데이터베이스 선택
mysql_select_db(DBNAME, $link);
// 인코딩 설정
mysql_set_charset('utf8', $link);
$id = $_GET['id'];
//지정한 데이터 삭제
mysql_query("DELETE FROM tb_news WHERE id={$id}", $link) or die('데이터 삭제 오류:' . mysql_error());
// 삭제 후 뉴스 페이지로 이동
header("Location:index.php");
6. 뉴스 내용 수정 editnews.php
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
<title>뉴스를 수정하다</title>
</head>
<body>
<?php
require "dbconfig.php";
$link = @mysql_connect(HOST,USER,PASS) or die("힌트: 데이터베이스 연결 실패!");
mysql_select_db(DBNAME,$link);
mysql_set_charset('utf8',$link);
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM tb_news WHERE id=$id",$link);
$sql_arr = mysql_fetch_assoc($sql);
?>
<form action="action-editnews.php" method="post">
<label>뉴스ID: </label><input type="text" name="id" value="<?php echo $sql_arr['id']?>">
<label>제목:</label><input type="text" name="title" value="<?php echo $sql_arr['title']?>">
<label>키워드:</label><input type="text" name="keywords" value="<?php echo $sql_arr['keywords']?>">
<label>작성자:</label><input type="text" name="author" value="<?php echo $sql_arr['author']?>">
<label>발표 시간:</label><input type="date" name="addtime" value="<?php echo $sql_arr['addtime']?>">
<label>내용:</label><input type="text" name="content" value="<?php echo $sql_arr['content']?>">
<input type="submit" value="제출하다">
</form>
</body>
</html>
action-editnews.php
<?php
// 편집 작업을 처리하는 페이지
require "dbconfig.php";
// mysql 연결
$link = @mysql_connect(HOST, USER, PASS) or die("힌트: 데이터베이스 연결 실패!");
// 데이터베이스 선택
mysql_select_db(DBNAME, $link);
//인코딩 설정
mysql_set_charset('utf8', $link);
// 수정된 뉴스 가져오기
$id = $_POST['id'];
$title = $_POST['title'];
$keywords = $_POST['keywords'];
$author = $_POST['author'];
$addtime = $_POST['addtime'];
$content = $_POST['content'];
// 데이터를 갱신하다
mysql_query("UPDATE tb_news SET title='$title',keywords='$keywords',author='$author',addtime='$addtime',content='$content' WHERE id=$id", $link) or die('데이터 수정 오류:' . mysql_error());
header("Location:index.php");
마지막으로 실행하면 됩니다. 내 주소는 http://localhost/PHPProject/index.php이고, 내 항목은 Apache 서비스가 자동으로 구성된 실행 목록 아래에 있습니다. Apache 서비스를 실행한 후에 바로 접속하면 됩니다
'개발 꿀팁 > PHP' 카테고리의 다른 글
MAC 아래 brew로 PHP 개발 환경 구축 (0) | 2022.07.15 |
---|---|
ecshop 취약성 복구 정리 (0) | 2022.07.15 |
php는 데몬을 구현하는 두 가지 방식이다 (0) | 2022.07.13 |
PHP 파일 형식 판단 (0) | 2022.07.13 |
javamd5와 phpmd5의 불일치 문제 해결 (0) | 2022.07.13 |