PHP和Mysql可以對數據庫進行簡單的增刪改查,本文介紹了新聞列表的后台管理。
轉 https://www.cnblogs.com/cckui/p/8283648.html
Mysql數據庫創建
創建一個新聞列表的數據庫:
1. 查詢數據庫
1.1. 創建文件dbconfig.php,保存常量
<?php
define("HOST","localhost"); define("USER","root"); define("PASS","********"); define("DBNAME","news");
1.2. 創建入口文件index.html(連接數據庫、查詢數據)
<!DOCTYPE html> <html> <head> <meta 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: green;padding: 6px;border-radius: 5px;} td {text-align: center;} </style> <body> <div class="wrapper"> <h2>新聞后台管理系統</h2> <div class="add"> <a href="addnews.html">增加新聞</a> </div> <table width="960" 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 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['autor']}</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>
頁面如圖:
2. 增加新聞
2.1 點擊增加按鈕,通過頁面addnews.html添加數據
<!DOCTYPE html> <html> <head lang="en"> <meta 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="autor"> <label>發布時間:</label><input type="date" name="addtime"> <label>內容:</label><input type="text" name="content"> <input type="submit" value="提交"> </form> </body> </html>
2.2 創建處理增加新聞的服務端文件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']; $autor = $_POST['autor']; $addtime = $_POST['addtime']; $content = $_POST['content']; // 插入數據 mysql_query("INSERT INTO news(title,keywords,autor,addtime,content) VALUES ('$title','$keywords','$autor','$addtime','$content')",$link) or die('添加數據出錯:'.mysql_error()); header("Location:demo.php");
3. 刪除新聞
點擊刪除按鈕,通過服務端文件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 news WHERE id={$id}",$link) or die('刪除數據出錯:'.mysql_error()); // 刪除完跳轉到新聞頁 header("Location:demo.php");
4. 修改新聞
4.1 點擊修改按鈕,跳轉到文件editnews.php進行修改處理
<!DOCTYPE html> <html> <head> <meta 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 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="autor" value="<?php echo $sql_arr['autor']?>"> <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>
4.2 通過服務端文件action-editnews.php進行修改處理
通過服務端文件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']; $autor = $_POST['autor']; $addtime = $_POST['addtime']; $content = $_POST['content']; // 更新數據 mysql_query("UPDATE news SET title='$title',keywords='$keywords',autor='$autor',addtime='$addtime',content='$content' WHERE id=$id",$link) or die('修改數據出錯:'.mysql_error()); header("Location:demo.php");