资产报废管理系统:PHP实现与代码解析
资产报废管理系统是企业内部资产管理的重要组成部分,它能够帮助企业有效跟踪和管理报废资产,提高资产利用率,降低成本。本文将围绕PHP语言,详细解析如何实现一个简单的资产报废管理系统,包括系统设计、功能实现以及代码示例。
系统设计
系统架构
资产报废管理系统采用B/S(Browser/Server)架构,前端使用HTML、CSS和JavaScript,后端使用PHP语言和MySQL数据库。系统分为以下几个模块:
1. 用户管理模块:负责用户注册、登录、权限管理等。
2. 资产管理模块:负责资产的增加、修改、查询、报废等操作。
3. 报废管理模块:负责报废申请的提交、审批、跟踪等操作。
4. 报废统计模块:负责报废资产的统计和分析。
技术选型
- 前端:HTML5、CSS3、JavaScript、jQuery
- 后端:PHP、MySQL
- 开发环境:XAMPP、Visual Studio Code
- 版本控制:Git
功能实现
用户管理模块
数据库设计
sql
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`role` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
用户注册
php
<?php
// 用户注册
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = md5($_POST['password']);
$role = $_POST['role'];
// 连接数据库
$conn = new mysqli('localhost', 'root', '', 'asset_management');
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 插入数据
$sql = "INSERT INTO users (username, password, role) VALUES ('$username', '$password', '$role')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
用户登录
php
<?php
// 用户登录
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = md5($_POST['password']);
// 连接数据库
$conn = new mysqli('localhost', 'root', '', 'asset_management');
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 查询用户
$sql = "SELECT FROM users WHERE username='$username' AND password='$password'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["username"]. " - Role: " . $row["role"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
}
?>
资产管理模块
数据库设计
sql
CREATE TABLE `assets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`type` varchar(50) NOT NULL,
`status` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
资产增加
php
<?php
// 资产增加
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST['name'];
$type = $_POST['type'];
$status = 'In Use';
// 连接数据库
$conn = new mysqli('localhost', 'root', '', 'asset_management');
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 插入数据
$sql = "INSERT INTO assets (name, type, status) VALUES ('$name', '$type', '$status')";
if ($conn->query($sql) === TRUE) {
echo "New asset record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
资产查询
php
<?php
// 资产查询
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST['name'];
// 连接数据库
$conn = new mysqli('localhost', 'root', '', 'asset_management');
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 查询资产
$sql = "SELECT FROM assets WHERE name LIKE '%$name%'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Type: " . $row["type"]. " - Status: " . $row["status"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
}
?>
报废管理模块
数据库设计
sql
CREATE TABLE `报废申请` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`asset_id` int(11) NOT NULL,
`reason` varchar(200) NOT NULL,
`status` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`asset_id`) REFERENCES `assets`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
报废申请
php
<?php
// 报废申请
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$asset_id = $_POST['asset_id'];
$reason = $_POST['reason'];
$status = 'Pending';
// 连接数据库
$conn = new mysqli('localhost', 'root', '', 'asset_management');
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 插入数据
$sql = "INSERT INTO 报废申请 (asset_id, reason, status) VALUES ('$asset_id', '$reason', '$status')";
if ($conn->query($sql) === TRUE) {
echo "报废申请提交成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
报废审批
php
<?php
// 报废审批
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$id = $_POST['id'];
$status = $_POST['status'];
// 连接数据库
$conn = new mysqli('localhost', 'root', '', 'asset_management');
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 更新数据
$sql = "UPDATE 报废申请 SET status='$status' WHERE id='$id'";
if ($conn->query($sql) === TRUE) {
echo "报废申请审批成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
报废统计模块
数据库设计
sql
CREATE TABLE `报废统计` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`year` int(4) NOT NULL,
`month` int(2) NOT NULL,
`count` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
报废统计
php
<?php
// 报废统计
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$year = $_POST['year'];
$month = $_POST['month'];
// 连接数据库
$conn = new mysqli('localhost', 'root', '', 'asset_management');
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 查询报废统计
$sql = "SELECT FROM 报废统计 WHERE year='$year' AND month='$month'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "Year: " . $row["year"]. " - Month: " . $row["month"]. " - Count: " . $row["count"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
}
?>
总结
本文通过PHP语言实现了资产报废管理系统,涵盖了用户管理、资产管理、报废管理和报废统计等模块。在实际开发过程中,可以根据需求进行功能扩展和优化。希望本文对您有所帮助。
注意事项
1. 以上代码仅为示例,实际开发中需要根据具体需求进行调整。
2. 数据库连接信息(如用户名、密码、数据库名等)需要根据实际情况进行修改。
3. 代码中未进行错误处理和安全性考虑,实际开发中需要添加相应的处理逻辑。
后续扩展
1. 添加权限控制,实现不同角色的用户访问不同模块的功能。
2. 实现资产报废流程的自动化,如自动发送邮件通知等。
3. 添加报表生成功能,方便用户查看和分析报废数据。
通过以上扩展,可以使资产报废管理系统更加完善,满足企业内部管理的需求。
Comments NOTHING