婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ThinkPHP5+jQuery+MySql實現(xiàn)投票功能

ThinkPHP5+jQuery+MySql實現(xiàn)投票功能

熱門標簽:昭通辦理400電話 青島語音外呼系統(tǒng)招商 岳陽外呼型呼叫中心系統(tǒng)在哪里 山西探意電話機器人 河南電銷卡外呼系統(tǒng)哪家強 山西回撥外呼系統(tǒng) 騰訊外呼管理系統(tǒng) 揚州地圖標注app 百應(yīng)電話機器人服務(wù)

ThinkPHP5+jQuery+MySql實現(xiàn)投票功能,先給大家展示下效果圖,如果大家感覺效果不錯,請參考實例代碼。

效果圖:

前端代碼:

!DOCTYPE HTML>
html>
head>
meta charset="utf-8">
title>基于THINKPHP5實現(xiàn)紅藍投票功能/title>
style type="text/css">
  .vote{width:288px; height:300px; margin:40px auto;position:relative}
  .votetitle{width:100%;height:62px; background:url(/static/index/images/icon.png) no-repeat 0 30px; font-size:15px}
  .red{position:absolute; left:0; top:64px; height:80px;}
  .blue{position:absolute; right:0; top:64px; height:80px;}
  .red p,.blue p{line-height:22px}
  .redhand{position:absolute; left:0;width:36px; height:36px; background:url(/static/index/images/icon.png) no-repeat -1px -38px;cursor:pointer}
  .bluehand{position:absolute; right:0;width:36px; height:36px; background:url(/static/index/images/icon.png) no-repeat -41px -38px;cursor:pointer}
  .grayhand{width:34px; height:34px; background:url(/static/index/images/icon.png) no-repeat -83px -38px;cursor:pointer}
  .redbar{position:absolute; left:42px; margin-top:8px;}
  .bluebar{position:absolute; right:42px; margin-top:8px; }
  .redbar span{display:block; height:6px; background:red; width:100%;border-radius:4px;}
  .bluebar span{display:block; height:6px; background:#09f; width:100%;border-radius:4px; position:absolute; right:0}
  .redbar p{line-height:20px; color:red;}
  .bluebar p{line-height:20px; color:#09f; text-align:right; margin-top:6px}
/style>
script type="text/javascript" src="/static/index/js/jquery.js">/script>
script type="text/javascript">
$(function(){
  // 獲取初始數(shù)據(jù)
  getdata('',1);
  $(".redhand").click(function(){
    getdata("red",1);
  });
  $(".bluehand").click(function(){
    getdata("blue",1);
  });
});
function getdata(type,vid){
  $.ajax({
   url: "{:url('/index/vote/vote')}",
   data: {type:type,vid:vid},
   type:'POST',
   dataType: 'json',
   success: function (res) {
     console.log(res)
     if (res.status == 0) {
       alert('投票成功')
       var w = 208;
      $("#red_num").html(res.msg.rednum);
      $("#red").css("width",res.msg.red_percent*100+"%");
      var red_bar_w = w*res.msg.red_percent-10;
      $("#red_bar").css("width",red_bar_w);
      $("#blue_num").html(res.msg.bluenum);
      $("#blue").css("width",res.msg.blue_percent*100+"%");
      var blue_bar_w = w*res.msg.blue_percent;
      $("#blue_bar").css("width",blue_bar_w);
     }else{
       alert('投票失敗');
     }
   }
  });
}
/script>
/head>
body>
div id="main">
  h2 class="top_title">a >ThinkPHP5+jQuery+MySql實現(xiàn)紅藍投票功能/a>/h2>
  div class="vote">
    div class="votetitle">您對Thinkphp5的看法?/div>
    div class="red" id="red">
      p>非常實用/p>
      div class="redhand">/div>
      div class="redbar" id="red_bar">
        span>/span>
        p id="red_num">/p>
      /div>
    /div>
    div class="blue" id="blue">
      p style="text-align:right">完全不懂/p>
      div class="bluehand">/div>
      div class="bluebar" id="blue_bar">
        span>/span>
        p id="blue_num">/p>
      /div>
    /div>
  /div>
/div>
/body>
/html>

控制器:

?php
namespace app\index\controller;
use think\Controller;
/**
 * 投票
 */
class Vote extends Controller
{
  /**
   * 首頁
   */
  public function index()
  {
    return $this->fetch();
  }
  /**
   * 投票
   * @param vid type ip
   */
  public function Vote()
  {
    $data = input('post.');
    if (!empty($data)) {
      $data['ip'] = get_ip();  //獲取Ip
      // 先檢測當前ip是否已經(jīng)投過票
      $count = model('Vote')->checkIp($data);
      // 檢測是否提交了type,提交了即代表點擊了按鈕,沒提交即代表頁面初次渲染
      if (!empty($data['type'])) {
        if ($count == '0') {  //當前還未投過票 
          // 更新票數(shù) 添加用戶ip表
          $res = model('Vote')->postVote($data);
          if ($res) {
            // 投票成功 獲取當前各自的票數(shù)
            $info = $this->getPercent($data);
            return return_succ($info);
          }else{
            return return_error('投票失敗');
          }
        }else{
          // 已經(jīng)投過票
          return return_error('您已經(jīng)投過票了');
        }
      }else{
        // 初次渲染,獲取初始數(shù)據(jù)
        $info = $this->getPercent($data);
        return return_succ($info);
      }
    }else{
      return return_error('數(shù)據(jù)不能為空');
    }
  }
  // 計算比例
  public function getPercent($data)
  {
    // 投票成功 獲取當前各自的票數(shù)
    $info = model('Vote')->getInfo($data);
    // 計算比例 保留3位小數(shù)
    $info['red_percent'] = round($info['rednum'] / ($info['rednum'] + $info['bluenum']),3);
    $info['blue_percent'] = 1 - $info['red_percent'];
    return $info;
  }
}

模型:

?php
namespace app\index\model;
use think\Model;
use think\Db;
class Vote extends Model
{
  // 檢測當前ip是否已經(jīng)投過票
  public function checkIp($data)
  {
    $res = Db::table('votes_ip')->where(['vid'=>$data['vid'],'ip'=>$data['ip']])->count();
    return $res;
  }
  // 投票
  public function postVote($data)
  {
    $info = $this->getInfo($data);
    if ($info) {
      Db::startTrans();
      try {
        if ($data['type'] == "red") {
          // 更新票數(shù)表 
          Db::table('votes')->where(['id'=>$data['vid']])->update(['rednum'=>$info['rednum']+1]);
        }elseif ($data['type'] == "blue") {
          Db::table('votes')->where(['id'=>$data['vid']])->update(['bluenum'=>$info['bluenum']+1]);
        }
        // 添加用戶投票ip
        Db::table('votes_ip')->insert(['vid'=>$data['vid'],'ip'=>$data['ip']]);
        Db::commit();
        return true;
      } catch (Exception $e) {
        Db::rollback();
        return false;
      }
    }
  }
  // 獲取當前各自的票數(shù)
  public function getInfo($data)
  {
    // 獲取各自的票數(shù)
    $info = Db::table('votes')->where(['id'=>$data['vid']])->find();
    return $info;
  }
}

總結(jié)

以上所述是小編給大家介紹的ThinkPHP5+jQuery+MySql實現(xiàn)投票功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • ThinkPHP框架實現(xiàn)的MySQL數(shù)據(jù)庫備份功能示例
  • ThinkPHP框架搭建及常見問題(XAMPP安裝失敗、Apache/MySQL啟動失?。?/li>
  • ThinkPHP實現(xiàn)將SESSION存入MYSQL的方法
  • Thinkphp實現(xiàn)MySQL讀寫分離操作示例
  • PHP+MySql+jQuery實現(xiàn)的"頂"和"踩"投票功能
  • 基于PHP+jQuery+MySql實現(xiàn)紅藍(頂踩)投票代碼

標簽:銅川 宜賓 婁底 南陽 寶雞 鎮(zhèn)江 湛江 黃南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《ThinkPHP5+jQuery+MySql實現(xiàn)投票功能》,本文關(guān)鍵詞  ThinkPHP5+jQuery+MySql,實現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ThinkPHP5+jQuery+MySql實現(xiàn)投票功能》相關(guān)的同類信息!
  • 本頁收集關(guān)于ThinkPHP5+jQuery+MySql實現(xiàn)投票功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲r级在线视频| 欧美极品xxx| 日韩一区二区三区精品视频 | 亚洲自拍偷拍欧美| 亚洲第一主播视频| 成人av在线资源网站| 欧美日韩日日摸| 日韩欧美成人一区| 婷婷一区二区三区| 精品视频色一区| 一区二区三区**美女毛片| 国产激情精品久久久第一区二区| 一本一本大道香蕉久在线精品 | 日韩欧美在线观看一区二区三区| 亚洲免费在线视频| 国产成a人亚洲| 国产目拍亚洲精品99久久精品| 经典一区二区三区| 在线观看视频91| 一区av在线播放| 91成人国产精品| 一区二区三区四区在线播放| 色一情一乱一乱一91av| 国产精品理论在线观看| 日韩av一区二区在线影视| 欧美日韩和欧美的一区二区| 亚洲女爱视频在线| 一本久久综合亚洲鲁鲁五月天 | 一区二区三区不卡在线观看| 成人a免费在线看| 色一区在线观看| 久久精品欧美日韩| 成人黄色免费短视频| 国产精品毛片久久久久久久| 91捆绑美女网站| 三级久久三级久久| 日韩精品一区二区在线观看| 久久精品国产第一区二区三区| 欧美一级搡bbbb搡bbbb| 美女在线一区二区| 久久亚洲捆绑美女| 韩国在线一区二区| 国产精品毛片高清在线完整版| 91年精品国产| 亚洲欧洲精品一区二区三区 | 国产成人午夜精品影院观看视频| 精品理论电影在线观看| 国产一区二区三区日韩| 日韩精品专区在线影院观看| 国产成人午夜99999| 国产精品久久久99| 欧美日韩免费电影| 国产福利一区二区| 亚洲一区二区三区四区在线观看 | 国产精品小仙女| 亚洲丝袜制服诱惑| 成人精品国产一区二区4080| 亚洲另类在线制服丝袜| 极品少妇xxxx偷拍精品少妇| 欧美r级电影在线观看| 成人一区二区三区视频| 午夜影院久久久| 久久精品亚洲国产奇米99| 欧美三级日本三级少妇99| 另类小说色综合网站| 亚洲免费观看高清完整版在线 | 99精品国产视频| 日韩和欧美一区二区三区| 久久久另类综合| 欧美日韩一区二区欧美激情| 成人高清视频免费观看| 亚洲日本va午夜在线电影| 日韩欧美视频一区| 欧美三级中文字幕在线观看| www.亚洲精品| 午夜不卡在线视频| 中文字幕在线一区二区三区| 精品国产成人在线影院| 美女网站一区二区| 午夜成人免费视频| 亚洲国产视频直播| 亚洲美女视频一区| 1024国产精品| 国产精品高清亚洲| 日本一区二区三区免费乱视频| 国产精品污www在线观看| 中文字幕亚洲电影| 洋洋av久久久久久久一区| 日本午夜精品一区二区三区电影 | 久久久www成人免费毛片麻豆| 国产视频亚洲色图| 亚洲一区中文在线| 韩国成人福利片在线播放| 成人深夜福利app| 欧美丝袜丝交足nylons图片| 7777精品伊人久久久大香线蕉的 | 亚洲国产精品一区二区www| 日韩精品1区2区3区| 国产成人免费在线观看不卡| 日本久久电影网| 久久久久久电影| 亚洲成a天堂v人片| 国产成人在线网站| 7777精品伊人久久久大香线蕉超级流畅 | 麻豆精品视频在线观看视频| 成人自拍视频在线观看| 欧美久久久久免费| 中文字幕中文字幕中文字幕亚洲无线| 首页综合国产亚洲丝袜| 成人综合婷婷国产精品久久免费| 91精品国产一区二区三区蜜臀| 国产精品亲子伦对白| 日韩高清不卡在线| 91社区在线播放| 精品国产污污免费网站入口| 亚洲欧美国产三级| 成人激情小说网站| 久久男人中文字幕资源站| 天堂va蜜桃一区二区三区漫画版| av在线播放成人| 国产香蕉久久精品综合网| 日本一区中文字幕| 欧美三电影在线| 一区二区三区在线视频观看| 懂色av一区二区在线播放| 日韩欧美在线影院| 蜜桃久久久久久久| 欧美精品久久天天躁| 夜夜亚洲天天久久| 欧美视频第二页| 亚洲卡通动漫在线| 色综合 综合色| 欧美国产乱子伦 | 一区二区三区影院| 一本一道久久a久久精品| 中文字幕一区二区三区在线不卡| 国产不卡在线播放| 国产人伦精品一区二区| 国产·精品毛片| 国产嫩草影院久久久久| 成人午夜电影久久影院| 中文字幕一区不卡| 在线看日韩精品电影| 亚洲一区二区三区在线看| 欧美日韩一区二区在线观看| 爽好多水快深点欧美视频| 欧美精品乱码久久久久久| 麻豆精品久久久| 欧美国产精品v| 99久久久久久| 亚洲国产一区二区三区| 777xxx欧美| 国产一区 二区 三区一级| 欧美国产日韩一二三区| 一道本成人在线| 免费欧美高清视频| 久久精品一级爱片| 不卡影院免费观看| 亚洲成a天堂v人片| 久久久综合网站| 91视频免费看| 青青草国产精品97视觉盛宴 | 欧美日韩日日夜夜| 久色婷婷小香蕉久久| 国产亚洲一区二区三区四区| 色综合中文综合网| 国产精品性做久久久久久| 国产欧美日韩久久| 精品视频全国免费看| 久久国产精品色| 亚洲欧美怡红院| 日韩色视频在线观看| 99久久99久久精品免费看蜜桃| 日本女人一区二区三区| 久久一夜天堂av一区二区三区| 99久久久无码国产精品| 美女久久久精品| 玉米视频成人免费看| 久久女同性恋中文字幕| 欧美色图天堂网| 9l国产精品久久久久麻豆| 激情综合色播五月| 亚洲国产另类av| 国产精品美女久久福利网站| 日韩一区二区高清| 欧美揉bbbbb揉bbbbb| 国产999精品久久| 视频精品一区二区| 一区二区三区日韩欧美精品| 欧美mv和日韩mv国产网站| 欧美午夜免费电影| 99re在线精品| 国产91高潮流白浆在线麻豆| 久久国产精品无码网站| 亚洲第四色夜色| 亚洲欧美另类图片小说| 日本一区二区久久| 久久精品网站免费观看| 日韩小视频在线观看专区| 欧美日韩精品一区二区|