PHP 语言 实现资产报废管理系统

PHP阿木 发布于 14 天前 3 次阅读


资产报废管理系统: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. 添加报表生成功能,方便用户查看和分析报废数据。

通过以上扩展,可以使资产报废管理系统更加完善,满足企业内部管理的需求。