【php】3、学生管理系统-查看用户
<?php include_once 'stuService.class.php'; session_start(); $name = $_SESSION['student_name']; if($name == "") { header("Location: stu_login.php?error=1"); exit(); } $pagesize = 20; $pagenow = 1; $pagecount = 0; $service = new stuservice(); $pagecount = $service->getpagecount($pagesize); if(!empty($_GET['pagenow'])) { $pagenow=$_GET['pagenow']; } $stulist = $service->getstulist($pagesize, $pagenow); ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>学生成绩管理系统</title>
stuservice类
<?php //这个是对数据库中表student的操作 include_once 'mysql.class.php'; include_once 'student.class.php'; include_once 'confing.php'; class stuservice { //根据用户名和密码,查看个数 public function checkstunum($name, $password) { $mysql = new mysql(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $num=0; $sql = "select count(*) from student where stu_name = '".$name."' and stu_password = '".$password."'"; //执行命令 $res = $mysql->execute_dql($sql); $row=mysqli_fetch_row($res); if($row) { $num=$row[0]; } mysqli_free_result($res); $mysql->close_connect(); return $num; } //根据每页的大小,和当前的页面查询出所有的学生 public function getstulist($pagesize,$pagenow) { $mysql = new mysql(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $sql="select * from student limit ".($pagenow-1)*$pagesize.",$pagesize"; $res=$mysql->execute_dql($sql); $arr=array(); $i=0; while($row = mysqli_fetch_assoc($res)) { $arr[$i++]=$row; } mysqli_free_result($res); $mysql->close_connect(); return $arr; } //得到总页数 public function getpagecount($pagesize) { $mysql = new mysql(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $sql="select count(stu_id) from student"; $res=$mysql->execute_dql($sql); $i=0; $row = mysqli_fetch_row($res); if($row) { $rowcount=$row[0]; } $pagecount=ceil($rowcount/$pagesize); //返回不小于 value 的下一个整数,value 如果有小数部分则进一位。 mysqli_free_result($res); $mysql->close_connect(); return $pagecount; } //根据学生姓名得到相应数据 public function getstu($name) { $stu = new student(); $mysql = new mysql(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $sql="select * from student where stu_name='".$name."'"; $res=$mysql->execute_dql($sql); if($row = mysqli_fetch_assoc($res)) { $stu->setStu_id($row['stu_id']); $stu->setStu_name($row['stu_name']); $stu->setStu_password($row['stu_password']); } mysqli_free_result($res); $mysql->close_connect(); return $stu; } //根据id号获取user public function getstubyid($id) { $stu = new student(); $mysql = new mysql(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $sql="select * from student where stu_id='".$id."'"; $res=$mysql->execute_dql($sql); if($row = mysqli_fetch_assoc($res)) { $stu->setStu_id($row['stu_id']); $stu->setStu_name($row['stu_name']); $stu->setStu_password($row['stu_password']); } mysqli_free_result($res); $mysql->close_connect(); return $stu; } //根据得到的对象修改数据库中的值 public function update(student $stu) { $mysql = new mysql(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $sql="update student set stu_name='".$stu->getStu_name()."',stu_password='".$stu->getStu_password()."' where stu_id=".$stu->getStu_id(); $b = $mysql->execute_dml($sql);// if($b == 1)// {// return true;// } return $b; } //删除用户 public function delete(student $stu) { $mysql = new mysql(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); $sql = "delete from student where stu_id=".$stu->getStu_id().";"; $b = $mysql->execute_dml($sql); return $b; } }?>
mysql类
<?php // include_once 'confing.php'; class mysql extends mysqli {// public $link;// public $db_host = DB_HOST;// public $db_user = DB_USER;// public $db_password = DB_PASSWORD;// public $db_name = DB_NAME; public function __construct($host, $user, $pass, $db) { parent::__construct($host, $user, $pass, $db); if (mysqli_connect_error()) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); }// $this->link = new mysqli($this->db_host, $this->db_user, $this->db_password, $this->db_name);// if(!$this->link){// die("连接失败".mysql_error());// } //mysql_select_db($this->dbname,$this->link); } //执行SQL语句得到结果集,查询语句 public function execute_dql($sql) { $res = $this->query($sql) or die(mysqli_error($this)); return $res; } //执行SQLdml语句插入,更新,删除 public function execute_dml($sql) { $b = $this->query($sql) or die(mysqli_error($this)); if(!$b) { return 0; } else { if($this->affected_rows > 0) //如果收影响的行数大于0 { return 1; //OK了 } else { return 2; //没有行收到影响 } } } //关闭连接 public function close_connect() { if(!empty($this)) $this->close(); } } ?>
student类
<?php class student { private $stu_id; private $stu_name; private $stu_password; /** * @return the $stu_id */ public function getStu_id() { return $this->stu_id; } /** * @return the $stu_name */ public function getStu_name() { return $this->stu_name; } /** * @return the $stu_password */ public function getStu_password() { return $this->stu_password; } /** * @param field_type $stu_id */ public function setStu_id($stu_id) { $this->stu_id = $stu_id; } /** * @param field_type $stu_name */ public function setStu_name($stu_name) { $this->stu_name = $stu_name; } /** * @param field_type $stu_password */ public function setStu_password($stu_password) { $this->stu_password = $stu_password; } } ?>
config.php配置数据库
<?php //用define定义常量 //连接服务器 define('DB_HOST', 'localhost'); //连接数据库的账号 define('DB_USER', 'root'); //连接数据库的密码 define('DB_PASSWORD', 'xiaofeng2015'); //连接数据库的名字 define('DB_NAME', 'studentmanage'); //?>
预览:

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

你應該關心DependencyInjection(DI),因為它能讓你的代碼更清晰、更易維護。 1)DI通過解耦類,使其更模塊化,2)提高了測試的便捷性和代碼的靈活性,3)使用DI容器可以管理複雜的依賴關係,但要注意性能影響和循環依賴問題,4)最佳實踐是依賴於抽象接口,實現鬆散耦合。

是的,優化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)優化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,並避免使用

theKeyStrategiestosigantificallyBoostPhpaPplicationPerformenCeare:1)UseOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)優化AtabaseInteractionswithPreparedStateTementStatementStatementAndProperIndexing,3)配置

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版
好用的JavaScript開發工具