1. 程式人生 > >PHP+Mysql 實現數據庫的增刪改查

PHP+Mysql 實現數據庫的增刪改查

mark 連接數據庫 刪除數據 更新數據 localhost ble char inf cat

PHP和Mysql可以對數據庫進行簡單的增刪改查,本文介紹了新聞列表的後臺管理。

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");  

PHP+Mysql 實現數據庫的增刪改查