# 基于PHP和MYSQL数据库实现的失物招领系统
# 一、功能描述
## 1.1 系统实现的目的和意义
- **目的**:在新校区为大家提供一个失物招领的平台。
- **意义**:现在新校区面积较大,同学们丢失物品后,只通过线下途径进行效率低下且失主与拾物者联系不便,所以想通过这个系统建立线上交流的平台,提高失物找回的效率。
## 1.2 系统实现的功能
可以发布丢失物品和捡拾物品的信息,浏览以往发布的信息并提供搜索功能。在物品成功归还后可以撤销已经发布的消息。首页,即广场,展示已经发布的物品的消息,按时间排序展示,有多种分类:
- 大类:寻失物/寻失主
- 小类:地点,丢失时长(一周内,一个月内,三个月内)
- 在首页还有搜索功能,输入关键字可以进行搜索,搜索内容包括时间地点物品特点等等
- 个人中心,进入时先登陆,然后可以进行丢失物品或捡拾物品或撤销已发布的消息等操作。其中发布消息时要填写表格,内容包括物品图片,物品描述,丢失人姓名联系方式,丢失的时间,地点
## 1.3 系统开发的环境
![](http://www.writebug.com/myres/static/uploads/2021/10/19/9218aabe6b3ae72bc5309e747f1e7c3a.writebug)
- Mysql:5.5.56
- PHP:5.5.38
- 服务器:nginx
- 网站原型设计软件 Axure
# 二、总体结构
## 2.1 文件清单(按文件系统树型方式排列)
文件夹 PATH 列表,卷序列号为 0E94-2604
```php
C:.
│ addmessage.php //添加信息
│ delete.php //删除信息
│ detail.php //详细信息
│ esc.php //用户注销
│ findpeople.php //查找失主
│ findthing.php //查找失物
│ getmessage.php //ajax入口
│ guanli.php //用户个人信息管理
│ index.php //主页
│ join.php //注册页面
│ link.php //连接数据库
│ logoin.php //登录界面
│ people.php //个人信息界面
│ readme.txt //帮助文档
│
├─bootstrap //前端界面框架
├─css
│ style.css //层叠样式表文件
│
├─images //图片
│ buct.png //buct图标
│ message.png //信息图标
│ more.png //详细信息图标
│ user.png //用户界面图标
│
├─js
│ │ index.js //网站脚本
│ │
│ └─jquery
│ jquery-3.2.1.min.js //网站脚本库
│
└─database
findlost.sql //数据库导出文件
```
## 2.2 系统功能结构图
下图是招领广场网页所对应的功能结构图,对于初次登录的用户,会检测有无cookie,若有则会直接进入招领广场页面,如果没有则会进入登录页面,在登录页面有登录选项和注册选项。在招领广场中有查找功能,并且有指向详细信息和个人中心的链接。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/3e9ca2a86eb1baab1e499cfe7e56c4b2.writebug)
下面是个人中心网页所对应的功能结构图,在这个页面中有发布丢失信息,发布找失主信息、管理已经发布的信息等三个功能链接。该页面也可以注销账户或者回到招领广场
![](http://www.writebug.com/myres/static/uploads/2021/10/19/740ccceeed6d5bf59a5c18488795a087.writebug)
## 2.3 系统的总流程图(标明每个模块的文件名)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/bfddd10527bedc932b745561b3d12217.writebug)
# 三、详细设计
## 3.1 数据结构
### 3.1.1 树的遍历,增加删除节点
Html是一种超文本标记语言,浏览器会解析html代码生成DOM树,如下表示:
![](http://www.writebug.com/myres/static/uploads/2021/10/19/a47f321501e2266e9e90efea7b342164.writebug)
只有html代码界面并不完美,这就需要为每个html元素设置样式属性,就是css属性,通过下面的一段代码来解释这个事情:
![](http://www.writebug.com/myres/static/uploads/2021/10/19/afd7ed96909a07c7e6c7f175b7e3a8ca.writebug)
网页上每个元素都是有样式的,节点之间可能有共同的样式,也可能会有自己独特的样式,浏览器对每个节点进行css样式的渲染时,都首先需要找到这个节点的位置,然后再设置具体的属性,本质上是树的一个深度优先搜索遍历,比如上图中的<div>标签,在进行样式的设定时,首先要从根节点,即html标签节点向下遍历搜素,找到所有div标签的位置,这个位置指向的是一个数组,数组中的div到底哪个才是应该设置属性的目标div呢?这就涉及到另外的一个东西,叫做css选择器,有类选择器,标签选择器,id选择器等,标签选择器就是给这个界面的所有特定标签进行样式的设定,比如说给所有的div设置样式就可以使用标签选择器,上图中用到了类选择器,即class=“”中的值,回到刚才的div数组,浏览器会查找这个div数组中具有特定类名属性的div,把样式渲染上去,不确定到底有几个div有这样的属性,所以浏览器会遍历整个数组,把所有的节点都遍历完,才能结束,否则只能使部分目标div设置好样式。
用户平时看到的网页有时不是固定的,比如说点击某一个按钮会在下面生成一个新的部分,或者删除一个新的部分,这就涉及到在DOM树上进行增加节点和删除节点的操作了,每个标签都对应于DOM树的一个节点,在进行css样式的渲染时,浏览器会遍历当前html文档生成的树,首先查找到应该删除或者增加元素的位置,然后再进行删除和插入的操作,重构这个DOM树,然后解析出来,这一个过程看上去有好几步,实际上程序运行实在瞬间完成的。
### 3.1.2 字符串的相关处理函数
用JavaScript处理字符串,与c语言字符串处理不同的是,js处理字符串更加的简单,JavaScript是一种弱类型解释性的脚本,只要声明一个变量,然后把一个字符串的值赋给它就好,想给字符串增加内容只需要在后边直接增加,本系统在运行搜索功能的时候,会把每个条件设置一个具体的语句,然后最终的查询语句是这些语句拼合在一起完成的,如果条件改变,还需要把已经生成的查询语句进行修改,修改由于查询参数变化引起的固定位置的变化,最终的查询语句数据会发给服务端程序,后端程序在进行数据库中的查找,并把结果返回给浏览器,用户就可以看到自己搜索的结果了。
### 3.1.3 集合的交并运算
接收到前端的查询语句,服务器端程序会执行这个查询语句,每条查询语句会返回一个结果,这个结果是一个集合,多数情况下匹配的结果不会只有一个,部分匹配的记录也会被添加到这个结合中,这个集合被称为结果集,每个条件会返回对应的结果集合,但是用户需要的是满足所有条件的数据,所以对这些结果集要进行交集的运算,最终生成一个返回到浏览器端的结果集---最终结果集,最终结果集就是用户查找的最终结果,然后前端再把它渲染到界面上。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/c175f372a1c19339f6729f5ab61b706a.writebug)
### 3.1.4 索引查找算法
因为要存储用户输入的数据,所以,需要有数据库来存用户输入的数据,小组用到的数据库是当下流行的关系型数据库MySQL,MySQL数据库的每一行是一条记录,每一列代表相应的字段,用来存储每个用户的发布的消息。在大多数情况下,不能确定用户输入的数据没有重复的,所以需要给每条消息设置一个唯一的值,这个值只有这条消息是这个
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
9982037872754871.zip (39个子文件)
lost_find_system
src
esc.php 90B
js
index.js 188B
jquery
jquery-3.2.1.min.js 85KB
join.php 3KB
bootstrap
js
bootstrap.js 68KB
npm.js 484B
bootstrap.min.js 36KB
css
bootstrap-theme.min.css.map 25KB
bootstrap.min.css 118KB
bootstrap-theme.css.map 47KB
bootstrap-theme.css 26KB
bootstrap.css.map 380KB
bootstrap.css 143KB
bootstrap-theme.min.css 23KB
bootstrap.min.css.map 529KB
fonts
glyphicons-halflings-regular.svg 106KB
glyphicons-halflings-regular.ttf 44KB
glyphicons-halflings-regular.woff 23KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.woff2 18KB
detail.php 3KB
database
findlost.sql 3KB
css
style.css 3KB
getmessage.php 2KB
people.php 2KB
index.php 7KB
link.php 156B
images
message.png 23KB
more.png 818B
buct.png 106KB
user.png 1KB
guanli.php 3KB
delete.php 536B
findpeople.php 3KB
logoin.php 735B
addmessage.php 1KB
findthing.php 3KB
LICENSE 1KB
README.md 18KB
共 39 条
- 1
资源评论
工具盒子
- 粉丝: 60
- 资源: 1313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- vue自定义指令( 复制、拖动、权限)
- json格式文件备份redis数据库 工具
- Multi-Agent-Flocking.zip
- 指标公式未来函数检测工具V1.2
- projectData
- SQL Server 性能监视器,它旨在提供开箱即用的全面监控,并作为您自己的项目或应用程序的监控框架 它在本地数据库中收集性能
- Python 程序语言设计模式思路-并发模式:线程池模式:管理线程池,优化线程创建和销毁
- 股事汇投资工具-实时新闻、财经日历、市场快讯、持仓查询、外汇兑换、换算工具、大盘云图、江恩工具、指标检测等
- webrtc-streamer
- html+css+'青春献礼二十大 红色旅游助乡村'为主题的网页设计 2022年参与学校网页设计比赛时完成的
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功