随着经济的高速发展,超市的信息化工作也在如火如荼地进行,由于超市规模的不断扩大以及商务往来的日益增多,超市对进销存信息的掌握和使用就越来越多,因此以前的原始的手工操作方式就不能适应超市快速发展的需要,在计算机科学技术日益发展和成熟的今天,运用其先进的技术性来管理日常工作中的各类客户信息数据,就可以极大地提高超市的工作效率。
员工管理界面
管理人员可以管理员工信息,在员工管理中需输入员工编号,员工姓名,密码,身份证,电话等基本信息后点确定按钮系统检测输入数据的合法性,检测通过后自动添加信息到数据中
商品信息管理界面
管理员和员工可以管理对应的商品信息,在商品信息中输入对应的商品基本信息后点确定按钮系统检测输入数据的合法性,检测通过后自动添加信息到数据中
销售信息管理界面
管理员可以管理商品的销售信息,在销售信息中输入对应的商品编号,商品名称,销售时间,销售数量等基本信息后点击确定按钮,系统自动检测数据的合法性后添加数据到数据库中
摘 要1
第1章 系统概述3
1.1 研究的背景3
1.2 研究的现状3
第2章 系统开发环境4
2.1 PHP概述4
2.2 数据库技术4
2.3APACHE服务器4
第3章 需求分析6
3.1 可行性分析6
3.1.1 可行性分析6
3.1.2 技术可行性6
3.1.3 运行可行性6
3.1.4 时间可行性7
3.2 系统流程和逻辑7
第4章 系统概要设计10
4.1 概述10
4.2 系统结构10
4.3. 数据库设计11
第5章 系统详细设计13
5.1 用户登录模块的实现13
5.2 员工信息管理14
5.3商品信息管理14
5.4销售信息管理15
5.5进货信息管理16
5.6修改密码17
第6章 系统测试18
6.1 冀翼超市管理系统的测试目的18
6.2 冀翼超市管理系统的测试方法18
6.3 冀翼超市管理系统的测试18
6.4 冀翼超市管理系统的系统测试结果19
第7章 总结23
致谢语24
在计算机普及的今天,用电脑管理物资是必然的趋势。以超市为例,走进超市,琳琅满目,各式各样的商品应有尽有,顾客大都满载而归,买到合适的商品。而在顾客得到极大方便的同时,超市在管理这些商品上却花费了大量的心血。
首先,商品种类繁多,数量庞大,经营者必须时刻了解自己商品的库存和各种商品的供求,如果盲目购进顾客不需要的商品或没有购进畅销的商品,对经营者来说都是极大的损失。其次,由于商品瞬间万变,很多商品价格可能变动较大,经营者可能要不时改变商品价格,否则太高则可能无人问津,太低则无利可图。再次,在社会的环境下,竞争激烈,为了保证在竞争中处于有利地位,经营者必须时刻了解超市的需要。
当然,作为实际的经营者,要了解的东西远比这几点多,但无论怎样,商品的管理是一切工作中的重点,如何管理商品是成败的关键。对小经营者来说,也许可以是一本账本,再加算盘或计算器即可。但对于大公司而言,根本不可能单纯依靠账本,那样不仅费人费力,而且当出现差错时,难以查改。所以必须借助电脑,把所有数据输入数据库,然后用系统对这些数据进行管理,通过统计和分析得到各种有用的信息。
此系统主要分4个模块,分别是:
销售管理模块:对每种销售出去的商品都有相应的记录显示。
进货入库管理模块:对每种进货入库来的商品都有相应的记录显示,如果商品管理局显示某一厂家的某一种商品不符合要求,则在进货入库的时候录入信息是如果是这一产品则给出提示,显示此类商品已被监管不合格。
库房管理模块:记录商品数量及相关情况,对存入的商品进行修改,存入的商品结账记录,确认定进货、出货数量等,还有对每种商品的数量要进行精确的把控,如果出现紧缺的则需要在提醒界面显示商品紧缺。
基础信息模块: 商品信息管理,操作员信息管理,商品类别管理,供应商信息。
系统性能分析:
系统的性能分析主要是指数据的精准性,系统的实用性,系统安全性,系统维护性等;系统实用性指的是系统要符合客户的设计需求,满足客户使用;安全性主要是指系统是否存在漏洞,数据信息安全措施设计是否到位;系统维护性,主要是指系统后期维护,二次开发等是否具有衔接性,连贯性等。
<?php
error_reporting(E_ALL ^ E_NOTICE);
$conn=@mysql_connect("localhost","root","root") or die("数据库链接失败".mysql_error());
mysql_select_db("daizu",$conn) or die("数据库链接失败".mysql_error());
mysql_query('set names utf8');
//设置时区
date_default_timezone_set('asia/shanghai');
define('SYS_ROOT', str_replace("\\", '/', dirname(__FILE__)));
define('File_ROOT', SYS_ROOT."/upload/");
define('IMG_ROOT', SYS_ROOT . "/upload/");
@extract($_POST);
@extract($_GET);
function getfirst($sql)
{
$res=mysql_query($sql);
$rows=mysql_fetch_array($res);
return $rows;
}
//
function getcount($sql){
$res=mysql_query($sql);
return mysql_num_rows($res);
}
function get_name($id,$table)
{
$sql="select * from $table where id='$id'";
$rows=getfirst($sql);
return $rows[name];
}
//遍历创建目录
function Remkdir($path) {
if (!file_exists($path)) {
Remkdir(dirname($path));
@mkdir($path, 0777);
}
}
//上传图片
function upload_image($inputname, $image=null, $type='upimages', $width=440) {
$n = time().rand(1000,9999).'.jpg';
$z = $_FILES[$inputname];
if ($z && strpos($z['type'], 'image')===0 && $z['error']==0) {
if (!$image) {
Remkdir( IMG_ROOT . '/' . "{$type}/" );
$image = "{$type}/{$n}";
$path = IMG_ROOT . '/' . $image;
} else {
Remkdir( dirname(IMG_ROOT .'/' .$image) );
$image = "{$type}/{$n}";
$path = IMG_ROOT . '/' .$image;
}
//echo $path ;
move_uploaded_file($z['tmp_name'], $path);
//echo $image;exit;
return $image;
}
return $image;
}
//获取文件后缀名
function get_extend($file_name)
{
$extend = pathinfo($file_name);
$extend = strtolower($extend["extension"]);
return $extend;
}
//文件上传实现
function upload_file($inputname, $file=null)
{
$year = date('Y'); $day = date('md');
$z = $_FILES[$inputname];
$file_ext=get_extend($z['name']);
$n = time().rand(1000,9999).".".$file_ext;
if ($z && $z['error']==0) {
if (!$file) {
Remkdir( File_ROOT . '/' . "{$day}" );
$file = "{$day}/{$n}";
$path = File_ROOT . '/' . $file;
} else {
Remkdir( File_ROOT . '/' . "{$day}" );
$file = "{$day}/{$n}";
$path = File_ROOT . '/' .$file;
}
//echo $path ;
move_uploaded_file($z['tmp_name'], $path);
//echo $file;exit;
return $file;
}
return $file;
}
//分页函数.
function get_pager($url, $param, $count, $page = 1, $size = 10)
{
$size = intval($size);
if($size < 1)$size = 10;
$page = intval($page);
if($page < 1)$page = 1;
$count = intval($count);
$page_count = $count > 0 ? intval(ceil($count / $size)) : 1;
if ($page > $page_count)$page = $page_count;
$page_prev = ($page > 1) ? $page - 1 : 1;
$page_next = ($page < $page_count) ? $page + 1 : $page_count;
$param_url = '?';
foreach ($param as $key => $value)$param_url .= $key . '=' . $value . '&';
$pager['url'] = $url;
$pager['start'] = ($page-1) * $size;
$pager['page'] = $page;
$pager['size'] = $size;
$pager['count'] = $count;
$pager['page_count'] = $page_count;
if($page_count <= '1')
{
$pager['first'] = $pager['prev'] = $pager['next'] = $pager['last'] = '';
}
else
{
if($page == $page_count)
{
$pager['first'] = $url . $param_url . 'page=1';
$pager['prev'] = $url . $param_url . 'page=' . $page_prev;
$pager['next'] = '';
$pager['last'] = '';
}
elseif($page_prev == '1' && $page == '1')
{
$pager['first'] = '';
$pager['prev'] = '';
$pager['next'] = $url . $param_url . 'page=' . $page_next;
$pager['last'] = $url . $param_url . 'page=' . $page_count;
}
else
{
$pager['first'] = $url . $param_url . 'page=1';
$pager['prev'] = $url . $param_url . 'page=' . $page_prev;
$pager['next'] = $url . $param_url . 'page=' . $page_next;
$pager['last'] = $url . $param_url . 'page=' . $page_count;
}
}
return $pager;
}
?>