php、Java、python酒店预约与送餐系统 酒店管理系统 酒店预订入住系统(源码、调试、LW、开题、PPT)

news2024/11/23 1:31:38

💕💕作者:计算机源码社
💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕如需要源码,可以扫取文章下方二维码联系咨询

💕💕Java项目
💕💕微信小程序项目
💕💕Android项目
💕💕Python项目
💕💕PHP项目
💕💕ASP.NET项目
💕💕Node.js项目
💕💕选题推荐

项目实战|酒店预订与送餐系统Java、php、python

文章目录

  • 1、研究背景
  • 2、研究目的和意义
  • 3、系统研究内容
  • 4、系统页面设计
  • 5、参考文献
  • 6、核心代码

1、研究背景

  随着社会经济的发展和生活水平的提高,人们对旅行和住宿的需求不断增加。传统的酒店预约和送餐服务存在着操作繁琐、效率低下等问题,无法满足现代用户对便捷、高效、个性化服务的需求。尤其在疫情期间,用户对无接触的服务需求激增,传统的服务模式显得尤为滞后。因此,开发一个集成酒店预约与送餐功能的系统,能够有效解决这些问题,提高用户体验,并适应市场的新需求,成为当务之急。通过技术创新和智能化手段,我们可以突破传统服务模式的限制,提供更为灵活、便捷的服务解决方案。

2、研究目的和意义

  本系统的开发旨在通过先进的技术手段,提升酒店预约和送餐服务的效率与便利性。首先,系统将整合酒店的房间信息、价格、实时空房状况等,实现一站式的在线预约功能,简化用户的操作流程。其次,系统将提供智能化的送餐服务,通过用户下单后的实时跟踪、个性化推荐等功能,提升服务质量和用户满意度。系统还将支持多种支付方式和数据分析功能,以优化服务流程和提升用户体验。通过这些功能的实现,系统力求在提升服务质量的同时,降低运营成本,实现酒店与用户之间的高效对接。

  开发一个集成酒店预约与送餐功能的系统,不仅有助于提升用户的服务体验,还能推动酒店业和餐饮业的数字化转型。系统的推出将使酒店能够更好地管理房间资源,提高入住率,并通过数据分析洞察市场需求,优化运营策略。同时,送餐功能的集成将为用户提供更为便捷的餐饮服务,提升酒店的附加值和竞争力。在更广泛的层面上,该系统的开发将推动整个行业向智能化、信息化发展,为未来的服务创新奠定基础,从而带来经济效益和社会效益的双重提升。

3、系统研究内容

  1. 系统架构设计
    研究系统的整体架构,包括前端用户界面和后端服务器的设计。前端用户界面需要提供直观、易用的操作界面,支持酒店房间的搜索、筛选、预订以及送餐服务的选择。后端服务器则负责处理用户请求、管理酒店房间信息、订单处理以及支付系统的集成。需要考虑系统的可扩展性和可维护性,以适应未来功能的扩展和升级。

  2. 数据管理与分析
    研究如何有效地管理和分析系统中的数据,包括用户数据、酒店房间信息、订单记录和送餐数据等。设计高效的数据存储方案,确保数据的准确性和安全性。通过数据分析功能,能够生成用户行为报告、销售分析报告和市场趋势预测,帮助酒店管理者优化运营策略和提升服务质量。

  3. 实时处理与智能推荐
    研究如何实现实时处理用户请求和订单。包括实时更新房间空闲状态、订单状态跟踪以及送餐进度跟踪等。开发智能推荐算法,根据用户的历史行为、偏好和当前需求,提供个性化的酒店房间和送餐服务推荐,提高用户体验和满意度。

  4. 支付系统集成
    研究如何集成多种支付方式,确保用户能够便捷地完成支付。包括信用卡、电子钱包、移动支付等多种支付渠道的支持。需要处理支付安全问题,确保用户的支付信息不被泄露,并实现支付交易的快速、准确处理。

  5. 安全性与隐私保护
    研究系统的安全性设计和隐私保护措施。包括数据加密、用户身份验证、权限管理等,以保护用户数据和交易信息的安全。设计系统防护机制,防止潜在的网络攻击和数据泄露,确保系统的可靠性和用户的信任。

  6. 用户体验优化
    研究用户体验的优化策略,包括用户界面的友好性、操作的流畅性以及服务的响应速度。通过用户反馈和体验测试,不断改进系统的功能和设计,提高系统的易用性和用户满意度。设计简洁直观的界面,提供友好的用户指导和帮助,提高用户的整体体验。

4、系统页面设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如需要源码,可以扫取文章下方二维码联系咨询

5、参考文献

[1]朱玉凤.基于JavaWeb的酒店管理系统的设计与实现[J].网络安全和信息化,2023,(12):91-94.
[2]张莹,王运霞,易超,等.铁路企业差旅酒店预订系统数据治理技术研究[J].铁路计算机应用,2023,32(10):23-26.
[3]郭志英.基于Web的酒店管理系统的设计与实现[J].长江信息通信,2022,35(12):120-123.
[4]刘雨.酒店管理信息系统的发展演变[J].今日财富,2022,(14):40-42.
[5]钱春霞.智慧酒店系统设计研究[J].电子技术与软件工程,2022,(14):175-178.
[6]洪晖煌,潘善亮.基于MQTT的智慧酒店系统设计[J].无线通信技术,2022,31(02):59-62.
[7]钱春霞.连锁酒店管理系统的设计研究[J].电子技术与软件工程,2022,(11):216-219.
[8]Wong E .破解四大云酒店管理系统误区[J].软件和集成电路,2022,(05):12-13.DOI:10.19609/j.cnki.cn10-1339/tn.2022.05.010.
[9]于盛洋.智慧酒店管理系统设计与实现——基于RFID模块[J].产业科技创新,2022,4(02):37-40.
[10]关世友,刘晓辉.基于物联网六域模型的智慧酒店系统设计及应用[J].物联网技术,2022,12(03):95-99.DOI:10.16667/j.issn.2095-1302.2022.03.028.
[11]董华军.酒店管理系统的设计与实现[J].工业控制计算机,2022,35(01):140-141.
[12]张若淼,吴明霞.基于评论情感分析需求的酒店客房预定系统[J].电脑编程技巧与维护,2021,(12):13-14+20.DOI:10.16184/j.cnki.comprg.2021.12.005.
[13]冯朔,郑学智.基于边云协同的智慧酒店系统[J].电子设计工程,2021,29(19):19-24+30.DOI:10.14022/j.issn1674-6236.2021.19.004.
[14]王岩,一种基于人脸识别和卡片识别的酒店管理系统.陕西省,西安顶吉智能科技有限公司,2021-08-17.
[15]邵全勇,雒海东.基于CRM的酒店管理信息系统设计与实现[J].电子设计工程,2021,29(14):15-19.DOI:10.14022/j.issn1674-6236.2021.14.004.
[16]朱云杰.翼云居酒店管理系统前置服务设计[J].电子元器件与信息技术,2021,5(06):182-185.DOI:10.19772/j.cnki.2096-4455.2021.6.081.
[17]刘映群,刘俊钦,梁健煊.智慧酒店管理系统设计与实现[J].现代信息科技,2021,5(09):87-92.DOI:10.19850/j.cnki.2096-4706.2021.09.023.
[18]于燕秀,俞睿,严飞杰.基于面部识别的智能酒店管理系统[J].工业技术创新,2021,08(01):70-73+107.DOI:10.14103/j.issn.2095-8412.2021.01.011.
[19]冯朔.基于边云协同计算的智慧酒店系统[D].武汉邮电科学研究院,2021. DOI:10.27386/d.cnki.gwyky.2021.000002.
[20]刘聪.酒店管理系统设计与研究[J].电子技术与软件工程,2021,(01):165-166.

6、核心代码

<?php

session_start();
class CaipinxinxiController extends CommonController {

    public function __construct()
    {
        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");
        header('Access-Control-Allow-Headers:Origin,Content-Type,Accept,token,X-Requested-With,device');
    }
    public $columData = [
		'id','addtime'
        ,'caipinbianhao'
        ,'caipinmingcheng'
        ,'caipinfenlei'
        ,'tupian'
        ,'caipinjiage'
        ,'caipinshuliang'
        ,'caipinjieshao'
        ,'discussnum'
        ,'storeupnum'
    ];


    /**
     * 分页,列表
     * get
     */
    public function page(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>401,'msg'=>"你还没有登录。"]));
        $userid = $tokens['id'];
		$where = " where 1 ";//查询条件
        $orwhere = '';
        
		
        $page = isset($_REQUEST['page'])?$_REQUEST['page']:"1";
        $limt = isset($_REQUEST['limit'])?$_REQUEST['limit']:"10";
        $sort = isset($_REQUEST['sort'])?$_REQUEST['sort']:"id";
        $order = isset($_REQUEST['order'])?$_REQUEST['order']:"asc";
        foreach ($_REQUEST as $k => $val){
			if(in_array($k, $this->columData)){
                if ($val != ''){
                    $where.= " and ".$k." like '".$val."'";
                }
			}
        }
        
        $sql = "select * from `caipinxinxi` ".$where;
        $count = table_sql($sql);
        if ($count->num_rows < 1){
            $numberCount = 0;
        }else{
            $numberCount = $count->num_rows;
        }
        $page_count = ceil($numberCount/$limt);//页数
        $startCount = ($page-1)*$limt;
        $where .= empty($orwhere) ? '' : "and (".$orwhere.")";
        $lists = "select * from `caipinxinxi` ".$where." order by ".$sort." ".$order." limit ".$startCount.",".$limt;
        $result = table_sql($lists);
        $arrayData = array();
        if ($result->num_rows > 0) {
            while ($datas = $result->fetch_assoc()){
                array_push($arrayData,$datas);
            }
        }
        exit(json_encode([
            'code'=>0,
            'data' => [
                "total" => $numberCount,
                "pageSize" => $limt,
                "totalPage" => $page_count,
                "currPage" => $page,
                "list" => $arrayData
            ]
        ]));
    }

        /**
     * 分页,列表list
     * get
     */
    public function lists(){
        $sql = "select * from `caipinxinxi`";
        $result = table_sql($sql);
        $arrayData = array();
        if ($result->num_rows > 0) {
            while ($datas = $result->fetch_assoc()){
                array_push($arrayData,$datas);
            }
        }
        exit(json_encode([
            'code'=>0,
            'data' =>$arrayData
        ]));
    }
    /**
     * 分页,列表list
     * get
     */
    public function list(){
        $page = isset($_REQUEST['page'])?$_REQUEST['page']:"1";
        $limt = isset($_REQUEST['limit'])?$_REQUEST['limit']:"10";
        $sort = isset($_REQUEST['sort'])?$_REQUEST['sort']:"id";
        $order = isset($_REQUEST['order'])?$_REQUEST['order']:"asc";
        $refid = isset($_REQUEST['refid']) ? $_REQUEST['refid'] : "0";
		$where = " where 1 ";//查询条件
        if(isset($_REQUEST['goodid'])) {
            $where .= " and goodid = ".$_REQUEST['goodid']." ";
        }
        $sorts = explode(",", $sort);
        $orders = explode(",", $order);
        $sortorders = "";
        foreach ($sorts as $index => $value) {
            if($index == count($sorts)-1){
                $sortorders =$sortorders.$value." ".$orders[$index];
            }else{
                $sortorders =$sortorders.$value." ".$orders[$index].",";
            }
        }
		foreach ($_REQUEST as $k => $val){
			if(in_array($k, $this->columData)){
				$where.= " and ".$k." like '".$val."'";
			}
        }
        
        $sql = "select * from `caipinxinxi`".$where;
        $count = table_sql($sql);
        if ($count->num_rows < 1){
            $numberCount = 0;
        }else{
            $numberCount = $count->num_rows;
        }
        $page_count = ceil($numberCount/$limt);//页数
        $startCount = ($page-1)*$limt;
        $lists = "select * from `caipinxinxi` ".$where." order by ".$sortorders." limit ".$startCount.",".$limt;
        $result = table_sql($lists);
        $arrayData = array();
        if ($result->num_rows > 0) {
            while ($datas = $result->fetch_assoc()){
                array_push($arrayData,$datas);
            }
        }
        exit(json_encode([
            'code'=>0,
            'data' => [
                "total" => $numberCount,
                "pageSize" => $limt,
                "totalPage" => $page_count,
                "currPage" => $page,
                "list" => $arrayData
            ]
        ]));
    }



    /**
     * 新增数据接口
     * post
     */
    public function save(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>401,'msg'=>"你还没有登录。"]));
        $uid = $tokens['id'];
        $keyArr = $valArr = array();
        $tmpData = strval(file_get_contents("php://input"));//Content-Type: application/json 需要用到php://input 处理输入流
        
        if (!empty($tmpData)&& isset($tmpData)){
            $postData = json_decode($tmpData,true);
            $caipinbianhao = $postData['caipinbianhao'];
            $resultInfo = table_sql("select caipinbianhao from `caipinxinxi` where `caipinbianhao` = '".$caipinbianhao."'");
            if ($resultInfo->num_rows > 0) {
                exit(json_encode(['code'=>500,'msg'=>"菜品编号已存在"]));
            }
            foreach ($postData as $key => $value){
                if (in_array($key, $this->columData)){
                    if(!empty($value) || $value === 0) {
                        if ($key == 'id') {
                            continue;
                        }
                        array_push($keyArr,"`".$key."`");
                        if($key == 'clicktime') {
                            array_push($valArr,"'".date('Y-m-d h:i:s', time())."'");
                        } else {
                            array_push($valArr,"'".$value."'");
                        }
                    }
                }
            }

    }
        $k = implode(',',$keyArr);
        $v = implode(',',$valArr);
        $sql = "INSERT INTO `caipinxinxi` (".$k.") VALUES (".$v.")";
        $result = table_sql($sql);
        exit(json_encode(['code'=>0]));
    }
    /**
     * 新增数据接口 add
     * post
     */
    public function add(){
        $keyArr = $valArr = array();
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>401,'msg'=>"你还没有登录。"]));
        $uid = $tokens['id'];

        $tmpData = strval(file_get_contents("php://input"));
        if (!empty($tmpData)&& isset($tmpData)){
            $postData = json_decode($tmpData,true);
            $caipinbianhao = $postData['caipinbianhao'];
            $resultInfo = table_sql("select caipinbianhao from `caipinxinxi` where `caipinbianhao` = '".$caipinbianhao."'");
            if ($resultInfo->num_rows > 0) {
                exit(json_encode(['code'=>500,'msg'=>"菜品编号已存在"]));
            }
            foreach ($postData as $key => $value){
                if (in_array($key, $this->columData)){
                    if(!empty($value) || $value === 0) {
                        if ($key == 'id') {
                            continue;
                        }
                        array_push($keyArr,"`".$key."`");
                        if($key == 'clicktime') {
                            array_push($valArr,"'".date('Y-m-d h:i:s', time())."'");
                        } else {
                            array_push($valArr,"'".$value."'");
                        }
                    }
                }
            }

        }
        $k = implode(',',$keyArr);
        $v = implode(',',$valArr);
        $sql = "INSERT INTO `caipinxinxi` (".$k.") VALUES (".$v.")";
        $result = table_sql($sql);
        exit(json_encode(['code'=>0]));
    }
    /**
     * 更新接口
     * post
     */
    public function update(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>401,'msg'=>"你还没有登录。"]));
        $uid = $tokens['id'];
        $tmpData = strval(file_get_contents("php://input"));
        $postData = json_decode($tmpData,true);
            $caipinbianhao = $postData['caipinbianhao'];
            $id = $postData['id'];
            $resultInfo = table_sql("select caipinbianhao from `caipinxinxi` where id <> ".$id." and `caipinbianhao` = '".$caipinbianhao."'");
            if ($resultInfo->num_rows > 0) {
                exit(json_encode(['code'=>500,'msg'=>"菜品编号已存在"]));
            }
        $v = array();
        foreach ($postData as $key => $value){
            if (in_array($key, $this->columData)){
                if ($key == "id"){
                    $id = $value;
                }
                if(!empty($value) || $value === 0) {
                    array_push($v,$key." = '".$value."'");
                }
            }
        }
        $value = implode(',',$v);
        $sql = "UPDATE caipinxinxi SET ".$value." where id = ".$id;
        $result = table_sql($sql);

        exit(json_encode(['code'=>0]));
    }
    /**
     * 删除
     * post
     */
    public function delete(){
        $ids = strval(file_get_contents("php://input"));//发现接收的是字符串
        preg_match_all('/\d+/',$ids,$arr);
        $str = implode(',',$arr[0]);//拼接字符,
        $sql = "delete from caipinxinxi WHERE id in({$str})";
        $result = table_sql($sql);
        exit(json_encode(['code'=>0]));
    }

    // 查询单条记录(前端)
    public function query(){
        $where = "1";
        foreach ($_REQUEST as $k => $val){
		    if(in_array($k, $this->columData) && !empty($val)){
                $where.= " and ".$k." like '".$val."'";
			}
        }
        $sql = "select * from `caipinxinxi` where ".$where;
        $result = table_sql($sql);
        if ($result->num_rows > 0) {
            // 输出数据
            while($row = $result->fetch_assoc()) {
                $lists = $row;
            }
        }
        exit(json_encode([
            'code'=>0,
            'data'=> $lists
        ]));
    }
    /**
     * 查询一条数据
     * get
     */
    public function info($id=false){

        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>401,'msg'=>"你还没有登录。"]));
        $userid = $tokens['id'];
        $name = isset($_REQUEST['name'])? $_REQUEST['name']:"";
        if (!empty($id)){
            $where = "`id` = ".$id;
        }else{
            $where = "`name` = ".$name;
        }
        $sql = "select * from `caipinxinxi` where ".$where;
        $result = table_sql($sql);
        if ($result->num_rows > 0) {
            // 输出数据
            while($row = $result->fetch_assoc()) {
                $lists = $row;
            }
        }
        exit(json_encode([
            'code'=>0,
            'data'=> $lists
        ]));
    }
    /**
     * 查询一条数据
     * get
     */
    public function detail($id=false){
        $name = isset($_REQUEST['name'])? $_REQUEST['name']:"";
        if ($id){
            $where = "`id` = ".$id;
        }else{
            $where = "`name` = ".$name;
        }
        $sql = "select * from `caipinxinxi` where ".$where;
        $result = table_sql($sql);
        if (!$result) exit(json_encode(['code'=>500,'msg'=>"查询数据发生错误。"]));
        if ($result->num_rows > 0) {
            // 输出数据
            while($row = $result->fetch_assoc()) {
                $lists = $row;
            }
        }
        exit(json_encode([
            'code'=>0,
            'data'=> $lists
        ]));
    }

    /**
     * 按值统计接口
     **/
    public function value(){
        $url = explode('?',$_SERVER['REQUEST_URI']);
        $request = explode('/',$url[0]);
        $xColumnName = $request[4];
        $yColumnName = $request[5];
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        $where = " where 1 ";
        $sql = "SELECT ".$xColumnName.",sum(".$yColumnName.") total FROM caipinxinxi ".$where." group by ".$xColumnName;
        if(urldecode($request[6]) == '日') {
            $sql = "SELECT DATE_FORMAT(".$xColumnName.", '%Y-%m-%d') ".$xColumnName.", sum(".$yColumnName.") total FROM caipinxinxi ".$where."  GROUP BY DATE_FORMAT(".$xColumnName.", '%Y-%m-%d')";
        }
        if(urldecode($request[6]) == '月') {
            $sql = "SELECT DATE_FORMAT(".$xColumnName.", '%Y-%m') ".$xColumnName.", sum(".$yColumnName.") total FROM caipinxinxi ".$where."  GROUP BY DATE_FORMAT(".$xColumnName.", '%Y-%m')";
        }
        if(urldecode($request[6]) == '年') {
            $sql = "SELECT DATE_FORMAT(".$xColumnName.", '%Y') ".$xColumnName.", sum(".$yColumnName.") total FROM caipinxinxi ".$where."  GROUP BY DATE_FORMAT(".$xColumnName.", '%Y')";
        }
        $result = table_sql($sql);
        if ($result->num_rows > 0) {
            // 输出数据
            $total = array();
            while($row = $result->fetch_assoc()) {
                array_push($total,array('total' => intval($row['total']),$xColumnName => $row[$xColumnName]));
            }
        }
        exit(json_encode(['code'=>0,'data'=>$total]));
    }

    /**
     * (按值统计)时间统计类型(多)
     **/
    public function valueMul(){
        $url = explode('?',$_SERVER['REQUEST_URI']);
        $request = explode('/',$url[0]);
        $xColumnName = $request[4];
        $yColumnName = isset($_REQUEST['yColumnNameMul'])? $_REQUEST['yColumnNameMul']:"";
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        $where = " where 1 ";
        $valueData = array();

        foreach(explode(",", $yColumnName) as $item){
            $sql = "SELECT ".$xColumnName.",sum(".$item.") total FROM caipinxinxi ".$where." group by ".$xColumnName." LIMIT 10";
            if(urldecode($request[6]) == '日') {
                $sql = "SELECT DATE_FORMAT(".$xColumnName.", '%Y-%m-%d') ".$xColumnName.", sum(".$item.") total FROM caipinxinxi ".$where."  GROUP BY DATE_FORMAT(".$xColumnName.", '%Y-%m-%d') LIMIT 10";
            }
            if(urldecode($request[6]) == '月') {
                $sql = "SELECT DATE_FORMAT(".$xColumnName.", '%Y-%m') ".$xColumnName.", sum(".$item.") total FROM caipinxinxi ".$where."  GROUP BY DATE_FORMAT(".$xColumnName.", '%Y-%m') LIMIT 10";
            }
            if(urldecode($request[6]) == '年') {
                $sql = "SELECT DATE_FORMAT(".$xColumnName.", '%Y') ".$xColumnName.", sum(".$item.") total FROM caipinxinxi ".$where."  GROUP BY DATE_FORMAT(".$xColumnName.", '%Y') LIMIT 10";
            }
            $result = table_sql($sql);
            if ($result->num_rows > 0) {// 输出数据
                $total = array();
                while($row = $result->fetch_assoc()) {
                    array_push($total,array('total' => intval($row['total']),$xColumnName => $row[$xColumnName]));
                }
                $valueData[] = $total;
            }
        }

        exit(json_encode(['code'=>0,'data'=>$valueData]));
    }


    /**
     * 获取需要提醒的记录数接口
     * get
     */
    public function remind($columnName,$type){
        $remindStart = isset($_GET['remindstart'])?$_GET['remindstart']:"";
        $remindEnd = isset($_GET['remindend'])?$_GET['remindend']:"";
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        $where = " where 1 ";//查询条件
        if ($type == 1){//数字
            if ($remindStart && $remindEnd){
                $where .= " and ".$columnName."<='".$remindEnd."' and ".$columnName.">='".$remindStart."'";
            }elseif($remindStart){
                $where .= " and ".$columnName.">='".$remindStart."'";
            }elseif($remindEnd){
                $where .= " and ".$columnName."<='".$remindEnd."'";
            }
        }else{
            if ($remindStart && $remindEnd){
                $where .= " and ".$columnName."<='".date("Y-m-d",strtotime("+".$remindEnd." day"))."' and ".$columnName.">='".date("Y-m-d",strtotime("+".$remindStart." day"))."'";
            }elseif($remindStart){
                $where .= " and ".$columnName.">='".date("Y-m-d",strtotime("+".$remindStart." day"))."'";
            }elseif($remindEnd){
                $where .= " and ".$columnName."<='".date("Y-m-d",strtotime("+".$remindEnd." day"))."'";
            }
            
        }
        $sql = "select * from `caipinxinxi` ".$where;
        $result = table_sql($sql);
        exit(json_encode(['code'=> 0 ,'count' => $result->num_rows]));
    }


    public function group($columnName){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        $where = " where 1 ";
        $sql = "SELECT ".$columnName.",count(".$columnName.") as total FROM caipinxinxi ".$where." GROUP BY ".$columnName." ORDER BY $columnName asc";
        $result = table_sql($sql);
        if ($result->num_rows > 0) {
            // 输出数据
            $total = array();
            while($row = $result->fetch_assoc()) {
                array_push($total,array('total' => $row['total'],$columnName => $row[$columnName]));
            }
        }
        exit(json_encode(['code'=>0,'data'=>$total]));
    }


}


💕💕作者:计算机源码社
💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕如需要源码,可以扫取文章下方二维码联系咨询

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2115296.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++第四十七弹---深入理解异常机制:try, catch, throw全面解析

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1.C语言传统的处理错误的方式 2.C异常概念 3. 异常的使用 3.1 异常的抛出和捕获 3.2 异常的重新抛出 3.3 异常安全 3.4 异常规范 4.自定义…

宠物狗检测-目标检测数据集(包括VOC格式、YOLO格式)

宠物狗检测-目标检测数据集&#xff08;包括VOC格式、YOLO格式&#xff09; 数据集&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1roegkaGAURWUVRR-D7OzzA?pwddxv6 提取码&#xff1a;dxv6 数据集信息介绍&#xff1a; 共有20580 张图像和一一对应的标注文件 标…

如何使用微软的Copilot AI工具将Word文档转换为PowerPoint

Copilot 让你可以将 Word 文档转换为 PowerPoint 演示文稿&#xff0c;使你能够以最小的努力制作出有针对性的演示文稿。这个功能是微软AI工具包的一部分&#xff0c;对于那些曾经盯着空白幻灯片不知道从何开始的人来说&#xff0c;这是一个颠覆性的改变。要充分利用这个工具&a…

libtool 中的 .la 文件说明

libtool 中的 .la 文件说明 1 概述 在 Linux 系统中&#xff0c;libtool 是一个用于自动化编译和链接复杂软件项目的工具&#xff0c;特别是那些使用了共享库&#xff08;.so 文件在 Linux 上&#xff0c;.dylib 在 macOS 上&#xff09;的项目。它帮助处理各种编译器和链接器…

快速上手 | 数据可观测性平台 Datavines 自定义SQL规则使用指南

摘要 本文主要介绍在 Datavines平台已有规则不能满足需求的情况下&#xff0c;如何通过自定义SQL规则来实现基于业务特性的数据质量检查。 规则介绍 自定义聚合SQL规则是 Datavines 平台中内置的一个灵活的规则&#xff0c;该规则允许用户通过编写SQL的方式来实现想要的数据质…

透传:利用 vercel 部署 OpenAI Proxy

透传&#xff1a;通俗理解国内ping不通国外大模型&#xff0c;需要做一层代理通过本地调用国外大模型官方的key。 一、利用 vercel 部署 OpenAI Proxy 第一步&#xff1a;Fork OpenEE 这个仓库 https://github.com/openaiee/openaiee 第二步&#xff1a;创建vercel项目 第三步…

『功能项目』战士的平A特效【35】

我们打开上一篇34武器的切换实例的项目&#xff0c; 本章要做的事情是在战士的每次按A键时在指定位置生成一个平A特效 首先将之前下载的技能拖拽至场景中 完全解压缩后重命名为AEffect 拖拽至预制体文件夹 进入主角动画的战士动画层级 双击第一次攻击 选择Animation 创建事件 …

【C++】栈和队列、优先级队列、适配器原理

目录 一.栈和队列相关接口 二.适配器介绍 三.栈和队列模拟实现 四.deque介绍 五.优先级队列 六.优先级队列的模拟实现 1.基本结构 2.插入删除操作 一.栈和队列相关接口 1.栈&#xff08;Stack&#xff09;的接口 由于栈接口只能支持栈顶插入&#xff08;入栈&#xff0…

【C语言版】数据结构教程(二)线性表

【内容简介】本文整理数据结构&#xff08;C语言版&#xff09;相关内容的复习笔记&#xff0c;供各位朋友借鉴学习。本章内容更偏于记忆和理解&#xff0c;请读者们耐心阅读。同时&#xff0c;这里提醒各位读者&#xff0c;尽管书本上说本书用的是 C 语言版&#xff0c;但是中…

基于javaweb的茶园茶农文化交流平台的设计与实现(源码+L文+ppt)

springboot基于javaweb的茶园茶农文化交流平台的设计与实现&#xff08;源码L文ppt&#xff09;4-20 系统功能结构 系统结构图可以把杂乱无章的模块按照设计者的思维方式进行调整排序&#xff0c;可以让设计者在之后的添加&#xff0c;修改程序内容的过程中有一个很明显的思维…

使用 WebStorm 导入已有的 Vue 项目并运行的步骤与注意事项

目录 1. 引言2. WebStorm 环境准备2.1 安装 WebStorm2.2 配置 Node.js 和 npm2.3 使用 nvm 管理 Node.js 和 npm 版本2.4 npm 版本与 Vue 版本对应关系 3. 导入已有的 Vue 项目3.1 打开 Vue 项目3.2 安装项目依赖3.3 使用 nvm 控制 Node.js 和 npm 版本 4. 运行 Vue 项目4.1 启…

STM32双轮平衡小车(基于STM32F103C8T6HAL库)

STM32双轮平衡小车参考教程 这个项目是跟做以上UP的STM32双轮平衡小车&#xff0c;主要是为了学习电机驱动和PID控制。这篇我就不提供源码了&#xff0c;我也是跟学的&#xff0c;原作者也提供了源码&#xff0c;我记录一下自己的理解。 1 PID原理 1.1 PID简介 1.2 PID演示 …

打破AI壁垒-降低AI入门门槛

AI和AGI AI&#xff08;人工智能-Artificial Intelligence&#xff09;&#xff1a; 先说说AI&#xff0c;这个大家可能都不陌生。AI&#xff0c;就是人工智能&#xff0c;它涵盖了各种技术和领域&#xff0c;目的是让计算机模仿、延伸甚至超越人类智能。想象一下&#xff0c;…

图像分割分析效果2

这次加了结构化损失 # 训练集dice: 0.9219 - iou: 0.8611 - loss: 0.0318 - mae: 0.0220 - total: 0.8915 # dropout后&#xff1a;dice: 0.9143 - iou: 0.8488 - loss: 0.0335 - mae: 0.0236 - total: 0.8816 # 加了结构化损失后:avg_score: 0.8917 - dice: 0.9228 - iou: 0.…

如何做服务迁移、重构?

思维导图 0. 前言 本文意在提供服务迁移的完整思路&#xff0c;将思考题变成填空题&#xff0c;只需要按照本文提供的思路填空&#xff0c;服务迁移至少可以做到 80 分。 本文的服务迁移指&#xff1a;将老服务的代码迁移至新服务。 1. 服务资源梳理 服务资源&#xff0c;我…

AI学习记录 - 旋转位置编码

创作不易&#xff0c;有用点赞&#xff0c;写作有利于锻炼一门新的技能&#xff0c;有很大一部分是我自己总结的新视角 1、前置条件&#xff1a;要理解旋转位置编码前&#xff0c;要熟悉自注意力机制&#xff0c;否则很难看得懂&#xff0c;在我的系列文章中有对自注意力机制的…

Win32函数调用约定(Calling Convention)

平常我们在C#中使用DllImportAttribute引入函数时&#xff0c;不指明函数调用约定(CallingConvention)这个参数&#xff0c;也可以正常调用。如FindWindow函数 [DllImport("user32.dll", EntryPoint"FindWindow", SetLastError true)] public static ext…

来啦| LVMH路威酩轩25届校招智鼎高潜人才思维能力测验高分攻略

路威酩轩香水化妆品(上海)有限公司是LVMH集团于2000年成立&#xff0c;负责集团旗下的部分香水化妆品品牌在中国的销售包括迪奥、娇兰、纪梵希、贝玲妃、玫珂菲、凯卓、帕尔马之水以及馥蕾诗等。作为目前全球最大的奢侈品集团LVMH 集团秉承悠久的历史&#xff0c;不断打破常规&…

群晖最新版(DSM 7.2) 下使用 Web Station 部署 flask 项目

0. 需求由来 为了在 DSM 7.2 版本下的群晖 NAS 里运行我基于 flask 3.0.2 编写的网页应用程序&#xff0c;我上网查了非常多资料&#xff0c;也踩了很多坑。最主要的就是 7.2 版本的界面与旧版略有不同&#xff0c;而网络上的资料大多基于旧版界面&#xff0c;且大部分仅仅说明…

记忆化搜索【下】

375. 猜数字大小II 题目分析 题目链接&#xff1a;375. 猜数字大小 II - 力扣&#xff08;LeetCode&#xff09; 题目比较长&#xff0c;大致意思就是给一个数&#xff0c;比如说10&#xff0c;定的数字是7&#xff0c;让我们在[1, 10]这个区间猜。 如果猜大或猜小都会说明…