PHP案例:信息管理系統

来源:http://www.cnblogs.com/dongliu/archive/2017/05/24/6898162.html
-Advertisement-
Play Games

Database: 表的結構 CREATE TABLE ( tinyint(1) NOT NULL, varchar(25) NOT NULL, varchar(50) NOT NULL, tinyint(1) NOT NULL, tinyint(1) NOT NULL ) ENGINE=InnoD ...


-- Database: test

-- 表的結構 message

CREATE TABLE `message` (
  `id` tinyint(1) NOT NULL,
  `name` varchar(25) NOT NULL,
  `sex` varchar(50) NOT NULL,
  `age` tinyint(1) NOT NULL,
  `classid` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

index.php

首頁

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>學生信息管理</title>
    <script>
        function doDel(id) {
            if (confirm("確定要刪除麽?")) {
                window.location = 'action.php?action=del&id=' + id;
            }
        }
    </script>
</head>
<body>
<center>
    <?php
    include_once "menu.php";
    ?>
    <h3>瀏覽學生信息</h3>
    <table width="600" border="1">
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>性別</th>
            <th>年齡</th>
            <th>班級</th>
            <th>操作</th>
        </tr>
        <?php
        //1.連接資料庫
        try {
            $pdo = new PDO("mysql:host=localhost;dbname=test;", "root", "");
        } catch (PDOException $e) {
            die("資料庫連接失敗" . $e->getMessage());
        }
        //2.解決中文亂碼問題
        $pdo->query("SET NAMES 'UTF8'");
        //3.執行sql語句,並實現解析和遍歷
        $sql = "SELECT * FROM message ";
        foreach ($pdo->query($sql) as $row) {
            echo "<tr>";
            echo "<td>{$row['id']}</td>";
            echo "<td>{$row['name']}</td>";
            echo "<td>{$row['sex']}</td>";
            echo "<td>{$row['age']}</td>";
            echo "<td>{$row['classid']}</td>";
            echo "<td>
                    <a href='javascript:doDel({$row['id']})'>刪除</a>
                    <a href='edit.php?id=({$row['id']})'>修改</a>
                  </td>";
            echo "</tr>";
        }

        ?>

    </table>
</center>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<body>
<h2>學生管理系統</h2>
<a href="index.php"> 瀏覽學生</a>
<a href="add.php"> 添加學生</a>
<hr>
</body>
</html>

add.php

添加成功

添加後

edit.php

<html>
<head>
    <meta charset="UTF-8">
    <title>學生信息管理</title>

</head>
<body>
<center>
    <?php
    include_once "menu.php";
    //1.連接資料庫
    try {
        $pdo = new PDO("mysql:host=localhost;dbname=test;", "root", "");
    } catch (PDOException $e) {
        die("資料庫連接失敗" . $e->getMessage());
    }
    //2.防止中文亂碼
    $pdo->query("SET NAMES 'UTF8'");
    //3.拼接sql語句,取出信息
    $sql = "SELECT * FROM message WHERE id =" . $_GET['id'];
    $stmt = $pdo->query($sql);//返回預處理對象
    if ($stmt->rowCount() > 0) {
        $stu = $stmt->fetch(PDO::FETCH_ASSOC);//按照關聯數組進行解析
    } else {
        die("沒有要修改的數據!");
    }
    ?>
    <form id="addstu" name="editstu" method="get" action="action.php">
        <input type="hidden" name="action" value="edit">

        <input type="hidden" name="id" id="id" value="<?php echo $stu['id']; ?>"/>
        <table>
            <tr>
                <td>姓名</td>
                <td><input id="name" name="name" type="text" value="<?php echo $stu['name'] ?>"/></td>

            </tr>
            <tr>
                <td>性別</td>
                <td><input type="radio" name="sex" value="男" <?php echo ($stu['sex'] == "男") ? "checked" : "" ?>/> 男
                    <input type="radio" name="sex" value="女" <?php echo ($stu['sex'] == "女") ? "checked" : "" ?>/> 女
                </td>
            </tr>
            <tr>
                <td>年齡</td>
                <td><input type="text" name="age" id="age" value="<?php echo $stu['age'] ?>"/></td>
            </tr>
            <tr>
                <td>班級</td>
                <td><input id="classid" name="classid" type="text" value="<?php echo $stu['classid'] ?>"/></td>
            </tr>
            <tr>
                <td> </td>
                <td><input type="submit" value="修改"/>  
                    <input type="reset" value="重置"/>
                </td>
            </tr>
        </table>

    </form>


</center>
</body>
</html>

action.php

<?php

//1.連接資料庫
try {
    $pdo = new PDO("mysql:host=127.0.0.1;dbname=test;", "root", "");

} catch (PDOException $e) {
    die("資料庫連接失敗" . $e->getMessage());
}

//2.防止中文亂碼
$pdo->query("SET NAMES 'UTF8'");
//3.通過action的值進行對應操作
switch ($_GET['action']) {
    case 'add':{   //增加操作

        $name = $_GET['name'];
        $sex = $_GET['sex'];
        $age = $_GET['age'];
        $classid = $_GET['classid'];

        //寫sql語句
        $sql = "INSERT INTO `message` (`id`, `name`, `sex`, `age`, `classid`) VALUES (NULL, '{$name}', '{$sex}', '{$age}', '{$classid}');
";


        $rw = $pdo->exec($sql);
        if ($rw > 0) {
            echo "<script> alert('增加成功');
                            window.location='index.php'; //跳轉到首頁
                 </script>";
        } else {
            echo "<script> alert('增加失敗');
                            window.history.back(); //返回上一頁
                 </script>";
        }
        break;
    }
    case "del": {    //1.獲取表單信息
        $id = $_GET['id'];
        $sql = "DELETE FROM message WHERE id={$id}";
        $pdo->exec($sql);
        header("Location:index.php");//跳轉到首頁
        break;
    }
    case "edit" :{   //1.獲取表單信息
        $id = $_GET['id'];
        $name = $_GET['name'];
        $sex = $_GET['sex'];
        $classid = $_GET['classid'];
        $age = $_GET['age'];

        $sql = "UPDATE message SET name='{$name}',sex='{$sex}',age='{$age}',classid='{$classid}' WHERE id='{$id}'";
        $rw=$pdo->exec($sql);
        if($rw>0){
            echo "<script>alert('修改成功');window.location='index.php'</script>";
        }else{
            echo "<script>alert('修改失敗');window.history.back()</script>";
        }
        break;
    }

}

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、獲取當前文件的路徑 string str1=Process.GetCurrentProcess().MainModule.FileName;//可獲得當前執行的exe的文件名。 string str2=Environment.CurrentDirectory;//獲取和設置當前目錄(即該進程從中 ...
  • DataTable dt = setData(); // Sum rows. //foreach (DataRow row in dt.Rows) //{ // int rowTotal = 0; // foreach (DataColumn... ...
  • 文件夾的分部是這樣子的 首先在Web.config中設置 如果在Login文件夾還有不需要匿名訪問,或者在LoginController中除了登陸還有方法可以匿名訪問, 那麼我們需要在加上這一個節點 登陸的方法貼出一部分代碼,僅供參考 ...
  • 雖然我們平時都使用第三方庫來進行序列化和反序列化,用起來也很方便,但至少得明白序列化與反序列化的基本原理。 懂得人就別看了! 註意:從.NET Framework 2.0 開始,序列化格式化器類SoapFormatter已過時。請改用 BinaryFormatter。 序列化:把目標對象轉換為位元組流 ...
  • 本文原創,轉載請註明出處:http://www.cnblogs.com/AdvancePikachu/p/6893934.html 本文學習如何把數據轉存為Excel文件並調用SaveFileDialog視窗進行保存。 首先需要引用幾個Plugins :System.Windows.Forms(Sa ...
  • Asp.net Core 中文文檔很少,你可以看英文的,不過英文的也是說的有點亂。這篇文章是乾貨。 1. 配置好你的WebApplication,使他可以支持國際化語言,修改文檔Startup.cs publicvoid ConfigureServices(IServiceCollection se ...
  • 軟體里需要讀取一些初始化信息, 決定用ini來做,簡單方便。 於是查了一寫代碼,自己寫了一個幫助類。 INI文件格式是某些平臺或軟體上的配置文件的非正式標準, 以節(section)和鍵(key)構成,常用於微軟Windows操作系統中。 這種配置文件的文件擴展名多為INI,故名INI。 INI是英 ...
  • 這個加密類是與java寫的DES加密不同時,自己寫的,最後與Java的加密相同了,解決了加密後不同的問題。 可以直接調用裡面的加密和解密的方法。 參考頁面:http://qingqingquege.cnblogs.com/p/5933752.html ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...