PDO實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這里實(shí)現(xiàn)一個(gè)簡(jiǎn)單的學(xué)生管理系統(tǒng),供大家參考,具體內(nèi)容如下
需要建立如下文件:
- index.php
- menu.php //菜單欄
- add.php //添加數(shù)據(jù)
- edit.php // 編輯數(shù)據(jù)
- action.php // 添加,刪除,編輯的實(shí)現(xiàn)
分別寫一下每個(gè)文件的代碼:
menu.php:
<html> <h2>學(xué)生信息管理</h2> <a href="index.php" rel="external nofollow" >瀏覽學(xué)生</a> <a href="add.php" rel="external nofollow" >增加學(xué)生</a> <hr> </html>
index.php
<html> <head> <meta charset="UTF-8"> <title>學(xué)生信息管理系統(tǒng)</title> </head> <script> function doDel(id){ if(confirm("是否要?jiǎng)h除")){ window.location='action.php?action=del&id='+id; } } </script> <body> <center> <?php include("menu.php");?> <h3>瀏覽學(xué)生信息</h3> <table width="600" border="1"> <tr> <th>ID</th> <th>姓名</th> <th>姓別</th> <th>年齡</th> <th>班級(jí)</th> <th>操作</th> </tr> <?php //1. 連接數(shù)據(jù)庫(kù) try{ $pdo = new PDO("mysql:host=localhost;dbname=myapp;", "root", ""); }catch(PDOException $e){ die("fail to connect db".$e->getMessage()); } //2. 執(zhí)行數(shù)據(jù)庫(kù),并解析遍歷 $sql = "SELECT * FROM users"; foreach($pdo->query($sql) as $val){ echo "<tr>"; echo "<td>{$val['id']}</td>"; echo "<td>{$val['name']}</td>"; echo "<td>{$val['sex']}</td>"; echo "<td>{$val['age']}</td>"; echo "<td>{$val['class']}</td>"; echo "<td> <a href='javascript:doDel({$val['id']})'>刪除</a> <a href='edit.php?id={$val['id']}'>修改</a> </td>"; echo "</tr>"; } ?> </table> </center> </body> </html>
add.php
<html> <head> <meta charset="UTF-8"> <title>學(xué)生信息管理系統(tǒng)</title> </head> <body> <center> <?php include("menu.php");?> <h3>增加學(xué)生信息</h3> <form action="action.php?action=add" method="post"> <table> <tr> <td>姓名</td> <td><input type="text" name="name"/></td> </tr> <tr> <td>姓別</td> <td> <input type="radio" name="sex" value="m"/>男 <input type="radio" name="sex" value="w"/>女 </td> </tr> <tr> <td>年齡</td> <td><input type="text" name="age"/></td> </tr> <tr> <td>班級(jí)</td> <td><input type="text" name="class"/></td> </tr> <tr> <td> </td> <td> <input type="submit" value="增加"/> <input type="submit" value="重置"/> </td> </tr> </table> </form> </center> </body> </html>
edit.php
<html> <head> <meta charset="UTF-8"> <title>學(xué)生信息管理系統(tǒng)</title> </head> <body> <center> <?php include("menu.php"); //獲取修改信息 //1. 連接數(shù)據(jù)庫(kù) try{ $pdo = new PDO("mysql:host=localhost;dbname=myapp;", "root", ""); }catch(PDOException $e){ die("fail to connect db".$e->getMessage()); } //2. 拼裝sql語(yǔ)句,取出信息 $sql = "SELECT * FROM users WHERE id=".$_GET['id']; $stmt = $pdo->query($sql); if($stmt->rowCount() > 0){ $stu = $stmt->fetch(PDO::FETCH_ASSOC); //解析數(shù)據(jù) }else{ die("沒(méi)有修改的信息"); } ?> <h3>修改學(xué)生信息</h3> <form action="action.php?action=edit" method="post"> <!-- 以隱藏域的方式添加id --> <input type="hidden" name="id" value="<?php echo $stu['id']; ?>"> <table> <tr> <td>姓名</td> <td><input type="text" name="name" value="<?php echo $stu['name'];?>"/></td> </tr> <tr> <td>姓別</td> <td> <input type="radio" name="sex" value="m" <?php echo ($stu['sex']== "m")? "checked": ""; ?>/>男 <input type="radio" name="sex" value="w" <?php echo ($stu['sex']== "w")? "checked": ""; ?>/>女 </td> </tr> <tr> <td>年齡</td> <td><input type="text" name="age" value="<?php echo $stu['age'];?>"/></td> </tr> <tr> <td>班級(jí)</td> <td><input type="text" name="class" value="<?php echo $stu['class'];?>"/></td> </tr> <tr> <td> </td> <td> <input type="submit" value="修改"/> <input type="submit" value="重置"/> </td> </tr> </table> </form> </center> </body> </html>
action.php
<?php //1. 連接數(shù)據(jù)庫(kù) try{ $pdo = new PDO("mysql:host=localhost;dbname=myapp;", "root", ""); }catch(PDOException $e){ die("fail to connect db".$e->getMessage()); } //2. 通過(guò)action的值做相應(yīng)的操作 switch($_GET['action']){ case "add": //增加操作 $name = $_POST['name']; $sex = $_POST['sex']; $age = $_POST['age']; $class = $_POST['class']; $sql = "INSERT INTO users VALUES (null, '{$name}','{$sex}', '{$age}', '{$class}')"; $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": $id = $_GET['id']; $sql = "DELETE FROM users WHERE id={$id}"; $pdo->exec($sql); header("location:index.php"); break; case "edit": $name = $_POST['name']; $sex = $_POST['sex']; $age = $_POST['age']; $class = $_POST['class']; $id = $_POST['id']; $sql = "UPDATE users SET name='{$name}',sex='{$sex}',age={$age},class={$class} 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; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Mac版PhpStorm之XAMPP整合apache服務(wù)器配置的圖文教程詳解
選擇在PhpStorm集成apache服務(wù)器,但是很多朋友不知道是如何操作的,下面小編分步驟通過(guò)圖文的形式給大家介紹Mac版PhpStorm之XAMPP整合apache服務(wù)器配置的教程,感興趣的朋友一起看看吧2016-10-10Laravel框架控制器的request與response用法示例
這篇文章主要介紹了Laravel框架控制器的request與response用法,結(jié)合實(shí)例形式分析了Laravel框架控制器的request與response發(fā)送請(qǐng)求及響應(yīng)請(qǐng)求的相關(guān)操作技巧,需要的朋友可以參考下2019-09-09Zend Framework教程之Zend_Helpers動(dòng)作助手ViewRenderer用法詳解
這篇文章主要介紹了Zend Framework教程之Zend_Helpers動(dòng)作助手ViewRenderer用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Zend_Helpers動(dòng)作助手ViewRenderer的功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-07-07Laravel5.1 框架數(shù)據(jù)庫(kù)查詢構(gòu)建器用法實(shí)例詳解
這篇文章主要介紹了Laravel5.1 框架數(shù)據(jù)庫(kù)查詢構(gòu)建器用法,結(jié)合實(shí)例形式詳細(xì)分析了laravel5.1框架查詢構(gòu)造器相關(guān)原理、使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2020-01-01php+ajax實(shí)現(xiàn)無(wú)刷新動(dòng)態(tài)加載數(shù)據(jù)技術(shù)
無(wú)刷新功能我們用到很多很多的,下面我就來(lái)給各位介紹一個(gè)實(shí)例,就是實(shí)現(xiàn)php+ajax實(shí)現(xiàn)無(wú)刷新滾屏加載數(shù)據(jù),例子非常的簡(jiǎn)單大家只要按流程來(lái)操作就可以了哦。2015-04-04php 人員權(quán)限管理(RBAC)實(shí)例(推薦)
下面小編就為大家?guī)?lái)一篇php 人員權(quán)限管理(RBAC)實(shí)例(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05PHP imagegrabscreen和imagegrabwindow(截取網(wǎng)站縮略圖)的實(shí)例代碼
PHP5.2.2以上版本的GD庫(kù)實(shí)現(xiàn)了兩個(gè)截屏函數(shù) imagegrabscreen 和 imagegrabwindow ,分別用于截取整個(gè)屏幕和截取某個(gè)窗口(同ALT+PrintScreen)的屏幕2013-11-11