zoukankan      html  css  js  c++  java
  • PHP+Mysql 实现数据库增删改查

     

    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 { 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");  
  • 相关阅读:
    如何将网格式报表打印成其它样式
    拥有与实力不相称的脾气是种灾难——北漂18年(23)
    8.8.1 Optimizing Queries with EXPLAIN
    mysql 没有rowid 怎么实现根据rowid回表呢?
    secondary index
    8.5.5 Bulk Data Loading for InnoDB Tables 批量数据加载
    mysql 中key 指的是索引
    8.5.4 Optimizing InnoDB Redo Logging 优化InnoDB Redo 日志
    8.5.3 Optimizing InnoDB Read-Only Transactions 优化InnoDB 只读事务
    8.5.1 Optimizing Storage Layout for InnoDB Tables InnoDB表的存储布局优化
  • 原文地址:https://www.cnblogs.com/it-tsz/p/10668657.html
Copyright © 2011-2022 走看看