停车场收费系统

这篇具有很好参考价值的文章主要介绍了停车场收费系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1.系统的开发工具

    1.1 AppServe集成应用

    Mysql:MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的。
    Php:PHP是一种嵌入式脚本语言,由于 PHP 简单、易用、跨平台、开源等特点,使其成为主流的网站开发语言,使用 PHP 开发的网站遍及各个行业。在具体开始学习 PHP 之前,本章先简单介绍一下 PHP 语言和 PHP7 的一些新特性,PHP 的发展趋势以及学好 PHP 语言的方法等,让读者对 PHP 语言有一个整体的了解,然后再慢慢地学习具体内容,最后达到完全掌握 PHP 语言的目的。

    1.2使用VScode编写html代码以及php的结合

在浏览器中使用“http://localhost:90”进入数据库进行数据操作Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unity)扩展的生态系统。

  2.系统分析

    2.1 需求分析

本系统包括两类用户:管理员用户和普通用户。管理员可以使用系统所有功能,普通用户只能查询车辆历史记录、用户信息(只限于个人信息)、查询计费标准、查询当前在场信息、查询出入场信息、当前可用车位信息。具体模块划分为如下模块:系统管理模块、信息维护模块、信息查询模块、车场管理模块。
①系统管理模块
管理员注册 功能描述:管理员可以在这里添加新的管理员。
用户注册 功能描述:在这里可添加新的用户(普通用户)。
②信息维护模块
管理员在这里可以修改用户。这里会以表的形式显示所有的用户信息。管理员点击相应的一行用户信息,这行信息会自动填充到表下的面板里,用户可以在面板里修改用户信息,面板下面有两个按钮,修改、删除,点击相应的按钮可以实现相应的功能。
③信息查询模块
登录的管理员可以根据车牌号或用户名查询用户信息,登录的用户只可以查到自己的信息(进出场记录、收费记录)
④ 车场管理模块(应该分为车辆入场和车辆出场两部分)
车辆入场 功能描述:车辆进入停车场时进行登记,记录入场时间并指定车位。
车辆出场 功能描述:车辆开出停车场时进行登记,记录出场的时间并进行自动收费。根据车辆进场时间,出场时间及收费标准自动计算车主应该缴纳的费用。如果停车时间包含不足一小时的时间,超过30分钟按一小时计算,不足三十分钟不计算。
⑤当前在场信息
用户可以在这里查询到当前在场的车辆信息,包括车位号,开始停车时间。
⑥当前可用车位信息
在这里用户可以查询当前可用的车位的信息,包括车位号
⑦计费标准信息
管理员可以在这里根据市场价格变动适当调节停车价格

  4.系统设计

    4.1 界面设计

登陆与注册界面如图4.1所示
停车场收费系统

                                            图4.1登录与注册界面

管理员信息界面(可进行增删查改)如图4.2
停车场收费系统

                                            图4.2管理员信息界面

管理员信息增加界面如图4.3所示
停车场收费系统

                                            图4.3 管理员信息增加

用户信息界面(可进行增删查改)如图4.4所示
停车场收费系统

                                            图4.4用户信息
用户信息增加界面如图4.5所示
停车场收费系统

                                            图4.5 用户信息增加
停车记录界面如图4.6所示
停车场收费系统

                                            图4.6 停车记录
车费缴纳界面如图4.7所示
停车场收费系统停车场收费系统

                                            图4.7 车费缴纳
费用价格定价界面如图4.8所示
停车场收费系统

                                            图4.8 费用价格定价
车位状态管理界面如图4.9所示
停车场收费系统

                                            图4.9 车位状态管理

    4.2 内容设计

①登录与注册 实现管理员和用户的注册与登录,将得到的数据添入数据库并保存下来
②管理员信息界面 实现管理员的添加、删除、修改以及查询
③用户信息界面 实现用户的添加、删除、查询以及修改
④停车记录管理 可对停入停车场的车辆进行记录,有车主、电话、车牌号、停车时间,车辆离开后会有时间记录,显示总时长和应缴金额。管理员对停车记录也可进行增删查改。
⑤车辆管理界面 对停入车辆的车主、电话、车牌号、停留时间、离开时间以及是否缴费都会有记录,缴费状态会随是否缴费而进行变化。车费修改界面是由管理员对当下经济变动进行合理的修改。
⑥车位状态管理界面 此界面可随停车记录的变动而变动,在停车记录里有车辆停入并记录下来时,车位状态管理会随之减少相应的车位剩余数,反之增加相应的车位剩余数。

    4.3 技术难点

①数据库的建立,有些字段的属性使用场景不同,需要适当改变
②前端HTML的美化需要用到JavaScript,不是很熟练
③ Php未学,现下学,很多语法使用不当,对数据的显示很多时候都会出错
④停车场计费管理中,需要对车辆停入时间和驶出时间进行计算,最后通过单价计算出所需缴纳费用,所以TIMESTAMPIFF的运用也是个难点。
⑤对于车辆停入后来驶出,再次停入的记录,避免车牌号重复的记录是个难点

    4.4 问题解决

①场景不同所创建的数据表也有所变化
管理员数据表:SELECT adid, adname, adpsw FROM administrator WHERE 1;用户数据表:SELECT usid, usname, uslpn, ustel FROM users WHERE 1;停车记录表:SELECT prid, prname, prtel, prlpn, prstart, prend, prtimes, prmoney, prpay FROM prpayment WHERE 1;计费:SELECT pmoney FROM money WHERE 1等。

②网上查找JavaScript的相关知识,结合课本修饰美化页面

<script src="JQuery.js"> </script>

        <script type="text/javascript">
            $(function () {
            $("ul.accordion li span").on('click', function () 
            {
            $(this).parent().siblings().removeClass('selected').find('div').hide();
            $(this).parent().addClass('selected');
            $(this).next().slideDown(500);
       });
     });
        </script>

③Php进行数据库连接,网络上查找

<?php
     session_start();//开启缓存
     if(isset($_SESSION['yes'])){
         echo '<p align="center">'.$_SESSION['yes'].'</p>';
         unset($_SESSION['yes']);
                                }
        $link=mysqli_connect('localhost','root','12345678','park');
        if(!$link){
             exit('数据库连接失败!');
         }

④TIMESTAMPIFF函数的运用
l e a v e 2 = m y s q l i q u e r y ( leave2=mysqli_query( leave2=mysqliquery(link,“update prpayment set prtimes =ceil((select * from(select timestampdiff(minute,prstart,prend) from prpayment where prid= r o w [ 0 ] ) a s p r ) / 60 ) w h e r e p r i d = row[0])as pr )/60) where prid= row[0])aspr)/60)whereprid=row[0]”);//计算时间
⑤判断停车场内的车辆是否驶出,可否可插入
l e a v e 1 = m y s q l i q u e r y ( leave1=mysqli_query( leave1=mysqliquery(link,“update prpayment set prend=(now()) where prid=$row[0]”);//离开时间
l e a v e 2 = m y s q l i q u e r y ( leave2=mysqli_query( leave2=mysqliquery(link,“update prpayment set prtimes =ceil((select * from(select timestampdiff(minute,prstart,prend) from prpayment where prid= r o w [ 0 ] ) a s p r ) / 60 ) w h e r e p r i d = row[0])as pr )/60) where prid= row[0])aspr)/60)whereprid=row[0]”);//计算时间
l e a v e 3 = m y s q l i q u e r y ( leave3=mysqli_query( leave3=mysqliquery(link,“update prpayment set prmoney=prtimes* m 1 [ 0 ] w h e r e p r i d = m1[0] where prid= m1[0]whereprid=row[0]”);//计算费用

  5.系统实施

    5.1 数据库连接

<?php
     $link=mysqli_connect('localhost','root','12345678','park');
     if(!$link){
         exit('数据库连接失败!');
     }else{
    echo "数据库连接成功!";
}

    5.2信息注册

<?php
     $link=mysqli_connect('localhost','root','12345678','park');
     if(!$link){
         exit('数据库连接失败!');
     }else{
    echo "数据库连接成功!";
    }

     mysqli_set_charset($link,"utf8");

     $aname=$_POST['adname'];
     $apsw=$_POST['adpsw'];

     if(isset($_POST['login'])){//注册

       
        $result1=mysqli_query($link,"select adname from administrator where adname='$aname'");

        if(mysqli_num_rows($result1)==true){
            echo '
                <script>
                    alert("用户已存在,请重新注册!");
                    location.href="denglu.html";
                </script>
            ';
        }

        $result=mysqli_query($link,"insert into administrator(adname,adpsw) values ('$aname','$apsw')");

        if($result){   
            echo '
                <script>
                    alert("注册成功!");
                    // location.href="Ad.hph";
                </script>
             ';
             header('location:Ad.php');
        }
        else{ 
            echo '
                <script>
                    alert("注册失败,请再次注册!");
                    location.href="denglu.html";
                </script>
            ';
        }

       
     }

     if(isset($_POST['register']))//登录
     {
         $result1=mysqli_query($link,"select adname,adpsw from administrator where adname='$aname' and adpsw='$apsw' ");

         if(mysqli_num_rows($result1)==true){
             echo '
                <script>
                    alert("登录成功!");
                    location.href="Ad.php";
                </script>
             ';
         }
        else
            echo '
                <script>
                    alert("登录失败,用户名或密码错误!");
                    location.href="denglu.html";
                </script>
            ';
     }

    mysqli_close($link);

?>

    5.3 信息添加

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>管理员信息新增</title>
        <style>
            #sub{
                margin-left:48px;
                margin-right:50px;
            }
            #sub1{
                margin-left:10px;
            }
        </style>
    </head>
    <body>
        <h1 align="center">新增管理员信息记录</h1>
        <form action="" method="post" name="inf">
            <p align="center">名称:<input type="text" name="an"/></p>
            <p align="center">密码:<input type="text" name="ap"/></p>
            <p align="center">
                <input type="submit" name="insub" value="提交" id="sub">
                <input type="submit" name="insub1" value="取消" id="sub1">
            </p>
        </form>
        <?php
            session_start();
            $link=mysqli_connect('localhost','root','12345678','park');
            if(!$link){
                exit('数据库连接失败!');
            }
            if(!empty($_POST["insub"])){
                $an=$_POST['an'];
                $ap=$_POST['ap'];

                mysqli_query($link,"insert administrator (adname,adpsw) values ('$an','$ap')");
                $_SESSION['yes']='添加成功!';
                header('location:Ad.php');
            }

            if(!empty($_POST["insub1"])){
                header('location:Ad.php');
            }

        ?>
    </body>
</html>

    5.4 信息修改

                    <form action="" method="post" name="pr">
                        <p align="center">
                            <input type="text" name="sel"/> <input type="submit" value="搜索" name="selsub"/>
                            <input type="button" value="新增" name="inbut" onclick="location.href='prinsert.php'"/>
                        </p>
                        <table align="center" border="1px" cellspacing="0px" width="900px" bordercolor="black">
                            <tr align="center">
                                <th>编号</th><th>车主</th><th>电话</th><th>车牌号</th><th>停车时间</th><th>离开时间</th>
                                <th>总时长</th><th>费用<th>操作</th>
                            </tr>

                            <?php
                                session_start();//开启缓存
                                $link=mysqli_connect('localhost','root','12345678','park');

                                $m=mysqli_query($link,"select pmoney from money limit 1 ");
                                $m1=mysqli_fetch_array($m);//价钱
                                if(!$link){
                                    exit('数据库连接失败!');
                                }
                                if(empty($_POST["selsub"])){
                                    $res=mysqli_query($link,"select * from prpayment order by prid asc ");
                                }else{
                                    $sel=$_POST["sel"];
                                    $res=mysqli_query($link,"select * from prpayment where prlpn like '%$sel%' or prname like '%$sel%'");
                                }
                                    while($row=mysqli_fetch_array($res)){
                                        echo '<tr align="center">';
                                        echo "<td>$row[0]</td><td>$row[1]</td><td>$row[2]</td>
                                            <td>$row[3]</td><td>$row[4]</td><td>$row[5]</td>
                                            <td>$row[6]</td><td>$row[7]</td>
                                        <td>
                                        <input type='submit' name='upleave$row[0]' value='离开'/>
                                        <input type='submit' name='upadb$row[0]' value='修改'/>
                                        <input type='submit' name='deladb$row[0]' value='删除'/>
                                        </td>";
                                        echo '</tr>';

                                        if(!empty($_POST["upleave$row[0]"]))//离开
                                        {
                                            // $m= $_SESSION['money'];
                                            $leave1=mysqli_query($link,"update prpayment set prend=(now()) where prid=$row[0]");//离开时间
                                            $leave2=mysqli_query($link,"update prpayment set prtimes =ceil((select * from(select timestampdiff(minute,prstart,prend) from  prpayment  where prid=$row[0])as pr )/60) where prid=$row[0]");//计算时间

                                            $leave3=mysqli_query($link,"update prpayment set prmoney=prtimes*$m1[0] where prid=$row[0]");//计算费用

                                            mysqli_query($link,"update pstatus set rpspace=(select rpspace from (select rpspace from pstatus) as p)+1");
                                            
                                            echo'"<script> location.href="mpay.php";</script>"';
                                        }

                                        if(!empty($_POST["upadb$row[0]"])){//修改
                                            echo '<tr align="center">';
                                            echo "<td>$row[0]</td>
                                                <td><input type='text' name='uppn' value='$row[1]'/></td>
                                                <td><input type='text' name='uppt' value='$row[2]'/></td>
                                                <td><input type='text' name='uppl' value='$row[3]'/></td>
                                                <td><input type='text' name='upps' value='$row[4]'/></td>
                                                <td><input type='text' name='uppe' value='$row[5]'/></td>
                                                <td><input type='text' name='upall' value='$row[6]'/></td>
                                              
                                                <td>
                                                    <input type='submit' name='upadbs$row[0]' value='确认'/>
                                                    <input type='submit' name='upadbc$row[0]' value='取消'/></td>";
                                            echo '</tr>';
                                        }

                                        if(!empty($_POST["upadbs$row[0]"])){//确认修改
                                            $uppn=$_POST['uppn'];
                                            $uppt=$_POST['uppt'];
                                            $uppl=$_POST['uppl'];
                                           
                                            $upps=$_POST['upps'];
                                            $uppe=$_POST['uppe'];
                                            $upall=$_POST['upall'];
                                
                                            mysqli_query($link,"update prpayment set prname='$uppn',prtel='$uppt',prlpn='$uppl',prstart='$upps',prend='$uppe',prtimes='$upall'where prid=$row[0]");
                                            echo'"<script> location.href="precord.php";</script>"';//修改信息后更新数据
                                            // header("location:Ad.php");
                                        }

                                        if(!empty($_POST["upadbc$row[0]"])){//取消修改
                                            header('location:#');
                                        }

                                        if(!empty($_POST["deladb$row[0]"])){//删除
                                            // $_SESSION['del_if']=$row[0];
                                            // echo "$row[0]";
                                            echo '<script>
                                                if(confirm("是否删除?")==true){
                                                    location.href="precord.php";
                                                }
                                            </script>';

                                            mysqli_query($link,"delete from prpayment where prid=$row[0]");
                                            
                                            header('location:precord.php');
                                        }
                                    }
                                    
                            ?>
                    </table>
                </form>
                    </div>
                </div>               
            </div>
        </div>
    </body>
</html>

    5.5 信息删除

 if(empty($_POST["selsub"])){
                                    $res=mysqli_query($link,"select * from users order by usid asc ");
                                }else{
                                    $sel=$_POST["sel"];
                                    $res=mysqli_query($link,"select * from users where usid like '%$sel%' or usname like '%$sel%' or uslpn like '%$sel%'or ustel like '%$sel%'");
                                }
                                    while($row=mysqli_fetch_array($res)){
                                        echo '<tr align="center">';
                                        echo "<td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td>
                                        <td>
                                        <input type='submit' name='upadb$row[0]' value='修改'/>
                                        <input type='submit' name='deladb$row[0]' value='删除'/>
                                        </td>";
                                        echo '</tr>';

                                        if(!empty($_POST["upadb$row[0]"])){//修改
                                            echo '<tr align="center">';
                                            echo "<td>$row[0]</td>
                                                <td><input type='text' name='upun' value='$row[1]'/></td>
                                                <td><input type='text' name='upul' value='$row[2]'/></td>
                                                <td><input type='text' name='uput' value='$row[3]'/></td>
                                                <td><input type='submit' name='upadbs$row[0]' value='确认'/>
                                                    <input type='submit' name='upadbc$row[0]' value='取消'/></td>";
                                            echo '</tr>';
                                        }

    5.6信息查询

<form action="" method="post" name="ad">
                        <p align="center">
                            <input type="text" name="sel"/> <input type="submit" value="搜索" name="selsub"/>
                            <input type="button" value="新增" name="inbut" onclick="location.href='Adinsert.php'"/>
                        </p>
                        <table align="center" border="1px" cellspacing="0px" width="800px" bordercolor="black">
                            <tr align="center"><th>编号</th><th>管理员名称</th><th>密码</th><th>操作</th></tr>

if(empty($_POST["selsub"])){
                                    $res=mysqli_query($link,"select * from administrator order by adid asc ");
                                }else{
                                    $sel=$_POST["sel"];
                                    $res=mysqli_query($link,"select * from administrator where adid like '%$sel%' or adname like '%$sel%' or adpsw like '%$sel%'");
                                }

  6.系统调试

    6.1 管理员登录与注册

管理员登录与注册如图6.1
停车场收费系统停车场收费系统

                                            图6.1 管理员登录与注册

    6.2 用户登录与注册

用户登录与注册如图6.2
停车场收费系统
停车场收费系统

                                            图6.2 用户登录与注册

    6.3 停车记录管理及停车缴费

停车记录管理及停车缴费如图6.3
停车场收费系统停车场收费系统

                                            图6.3 停车记录管理及收费

    6.4 管理员修改停车价格

管理员修改停车价格如图6.4

停车场收费系统

                                            图6.4 管理员修改停车价格文章来源地址https://www.toymoban.com/news/detail-436635.html

到了这里,关于停车场收费系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【开源】基于Vue+SpringBoot的停车场收费系统

    基于JAVA+Vue+SpringBoot+MySQL的停车场收费系统,包含了车辆管理模块、停车场模块、停车记录模块、IC卡档案模块和IC卡挂失模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,停车场收费系统基于角

    2024年02月04日
    浏览(47)
  • Python 实验报告,实现停车场收费管理系统

    3.某小型收费停车场有50个车位,有一个入口与一个出口,满1小时收费1元,不足1小时不收费,10元封顶,超过1天罚款200元。编写程序实现停车场出入口管理。 要求: (1)定义出入口类,将车位总数与目前停在停车场的车辆信息(每辆车包括车牌和入场时间)定义为类属性;

    2024年02月12日
    浏览(40)
  • Java实现停车场收费系统 JAVA+Vue+SpringBoot+MySQL

    基于JAVA+Vue+SpringBoot+MySQL的停车场收费系统,包含了车辆管理模块、停车场模块、停车记录模块、IC卡档案模块和IC卡挂失模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,停车场收费系统基于角

    2024年02月19日
    浏览(47)
  • 基于单片机停车场刷卡收费的设计与实现

     功能介绍 以51单片机作为主控系统; 通过液晶显示当前时间,车位、剩余车位、时间等信息; 进电机正反转表示开关门; 按键可以设置当前时间/单价/分钟; RC522射频卡识别,当刷卡后模拟汽车驶入,开始收费 再次刷卡模拟车辆驶出停车场停止计费 液晶显示当前卡号,计

    2024年02月16日
    浏览(33)
  • 基于单片机的自动停车收费系统的设计

    欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式   本课题对自动停车收费系统进行研究,介绍了基于STM32F103C6T6单片机的一种停车场的自动停车收费系统的设计。该基于STM32F103C6T6单片机完成的自动

    2024年01月17日
    浏览(38)
  • 共享停车位小程序,微信小程序停车场车位,微信小程序停车场系统毕设作品

      目的 :首先,在社会上“停车难”是一个众所周知的问题,每个小区,每个大厦都有自己的停车场,但是在没有进入停车场之前,我们没办法知道是否有空车位,空车位在哪个地方。为了解决这个问题我们打算做一个停车场车位预约小程序,来解决车主在进入停车场之前了

    2024年02月08日
    浏览(69)
  • 停车场管理系统

    开发   以下为停车场管理系统的代码:   首先定义Car类,记录车辆信息:   ```java public class Car {     private String plateNumber;  // 车牌号     private long enterTime;  // 进入停车场时间     private long exitTime;  // 离开停车场时间       public Car(String plateNumber, long enterTime) {      

    2024年02月09日
    浏览(40)
  • 停车场管理系统(C++)

    大二写的肯定会有很多很多很多缺点~希望大佬们能指出~给大家提供一个可以改的一个小东西,改成其他的什么什么也是可以的~有bug在评论区里说一下~952行~基本重要的都有注释~ 本“项目”实现了: 1.大中小车型分类 2.进场候车道 3.时间的自动提取 4.车牌的判定 5.查询、进车

    2024年01月16日
    浏览(49)
  • C#停车场管理系统

    现如今随着经济的发展, 私家车越来越多, 系统管理停车场变得尤为重要。所以我写了这个系统用来系统化的管理停车场的车辆的停入、驶出和计费,停车位的使用情况,停车证件的信息管理以及工作员工的信息管理,使得停车场的管理可以变的更加的方便快捷和人性化。

    2024年02月07日
    浏览(45)
  • 停车场管理系统(C语言)

    1、问题描述 设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待

    2024年02月04日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包