PHP+Mysql实现网站顶和踩投票功能实例

PHP+Mysql实现网站顶和踩投票功能实例,通过记录用户IP,判断用户的投票行为是否有效,该实例也可以扩展到投票系统中。

首先我们在页面上放置“顶”和“踩”的按钮,即#dig_up和#dig_down,按钮上分别记录了投票的票数以及所占的百分比。

 1 <div class="digg">
 2     <div id="dig_up" class="digup">
 3         <span id="num_up"></span>
 4         <p>很好,很强大!</p>
 5         <div id="bar_up" class="bar"><span></span><i></i></div>
 6     </div>
 7        <div id="dig_down" class="digdown">
 8         <span id="num_down"></span>
 9         <p>太差劲了!</p>
10         <div id="bar_down" class="bar"><span></span><i></i></div>
11     </div>
12     <div id="msg"></div>
13 </div>
14
15 $(function(){
16     //当鼠标悬浮和离开两个按钮时,切换按钮背景样式
17     $("#dig_up").hover(function(){
18         $(this).addClass("digup_on");
19     },function(){
20         $(this).removeClass("digup_on");
21     });
22     $("#dig_down").hover(function(){
23         $(this).addClass("digdown_on");
24     },function(){
25         $(this).removeClass("digdown_on");
26     });
27
28     //初始化数据
29     getdata("ajax.php",1);
30
31     //单击“顶”时
32     $("#dig_up").click(function(){
33         getdata("ajax.php?action=like",1);
34     });
35     //单击“踩”时
36     $("#dig_down").click(function(){
37         getdata("ajax.php?action=unlike",1);
38     });
39 });

函数getdata()

 1 function getdata(url,sid){
 2     $.getJSON(url,{id:sid},function(data){
 3         if(data.success==1){//投票成功
 4             $("#num_up").html(data.like);
 5             //通过控制宽度来显示百分比进度条效果
 6             $("#bar_up span").css("width",data.like_percent);
 7             $("#bar_up i").html(data.like_percent);
 8             $("#num_down").html(data.unlike);
 9             $("#bar_down span").css("width",data.unlike_percent);
10             $("#bar_down i").html(data.unlike_percent);
11         }else{//投票失败
12             $("#msg").html(data.msg).show().css({‘opacity‘:1,‘top‘:‘40px‘})
13             .animate({top:‘-50px‘,opacity:0}, "slow");
14         }
15     });
16 }

ajax.php

 1 $action = $_GET[‘action‘];
 2 $id = 1;
 3 $ip = get_client_ip();//获取当前ip
 4
 5 if ($action == ‘like‘) {
 6     likes(1, $id, $ip);
 7 } elseif ($action == ‘unlike‘) {
 8     likes(0, $id, $ip);
 9 } else {
10     echo jsons($id);
11 }

投票的表结构

 1 CREATE TABLE IF NOT EXISTS `votes` (
 2   `id` int(10) NOT NULL AUTO_INCREMENT,
 3   `likes` int(10) NOT NULL DEFAULT ‘0‘,
 4   `unlikes` int(10) NOT NULL DEFAULT ‘0‘,
 5   PRIMARY KEY (`id`)
 6 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 7
 8
 9 INSERT INTO `votes` (`id`, `likes`, `unlikes`) VALUES
10 (1, 30, 10);
11
12 CREATE TABLE IF NOT EXISTS `votes_ip` (
13   `id` int(11) NOT NULL AUTO_INCREMENT,
14   `vid` int(11) NOT NULL,
15   `ip` varchar(20) NOT NULL,
16   PRIMARY KEY (`id`)
17 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

本文转自:https://www.sucaihuo.com/php/105.html 转载请注明出处!

原文地址:https://www.cnblogs.com/zglevk/p/12275788.html

时间: 2024-10-10 07:28:04

PHP+Mysql实现网站顶和踩投票功能实例的相关文章

PHP+MySql+jQuery实现的“顶”和“踩”投票功能

index.html <!DOCTYPE HTML><html><head><meta charset="utf-8"><title>演示:PHP+jQuery+MySql实现的"顶"和"踩"功能</title><meta name="keywords" content="PHP,mysql,jquery" /><me

MVC+WCF实现视频播放的顶和踩功能

大家都知道做视频网站必须要有顶和踩的功能,我们的校园视频管理系统的顶和踩做到了和优酷顶和踩一样的效 果,下面我们就介绍一下我做的顶和踩的功能实现. 之前想的是点击图片按钮,直接让显示和数据库中的数据都+1就可以了,后来参照了优酷,决定实现图片的"点 亮"效果,于是将原来的两张带颜色的按钮另做的两张灰色按钮,实现了图片点亮和数据及时更新的效果. ------------------------------------------------------------------------

jsp+mysql开发网站留言板源代码下载

原文:jsp+mysql开发网站留言板源代码下载 源代码下载地址:http://www.zuidaima.com/share/1550463448304640.htm jsp+mysql开发网站留言板源代码下载

jdk+tomcat+mysql搭建网站无法打开

我们webwall的测试网站凌云论坛,是我之前用jdk-6u5-windows-i586-p.exe+apachetomcat6+mysql-essential-5.1.40-win32.msi搭建的,安装过程中都是使用了默认安装地址.现在网站出现了问题,无法打开. 查看tomcat日志: C:\Program Files\Apache SoftwareFoundation\Tomcat 6.0\logs: LifecycleException:  No UserDatabase compone

苹果收取30%过路费_你是顶是踩?

原文链接 苹果收取30%过路费 早在5月份,苹果以安全为由要求微信关闭打赏功能,微信团队竭力沟通协商未果,最终腾讯低头.而在不久前的苹果WWDC2017大会上,苹果将从有"打赏"性质的APP中抽取30%的分成,消息一出,顿时一片哗然.苹果认为,打赏应当被视为应用内购,苹果应该抽取赞赏金额的30%佣金.对于这种霸王条款,引发大量网友的不满,绝大多数消费者认为,用户打赏是消费者自愿行为,是对内容创作者的奖励,并非App卖东西赚钱,因此苹果没有理由收取抽成. 苹果为何会频繁剪羊毛 自从乔布斯

一步一步教你用PHP+MySql搭建网站 No.0 准备工作

新开一个系列教程吧,这次是讲如何用PHP+MySQL搭建网站. 之前一直有想过搭建自己的个人网站,然后上周通过阿里云申请的域名和空间都通过审核了,于是就开始研究如何用PHP+MYSQL搭建网站,研究了差不多两周,总算搞定了一个小型的blog类的网站.当然,整个过程是通过学习<PHP and MySQL web development>下来的,这篇教程中的例子是在原书中的Chapter 28: Building a Content Manager System章节的基础上,修改完成的.所有的源代

web系列教程之php 与mysql 动态网站 。检索 与更新。

接着上次WEb 系列开发之php 与mysql动态网站入门. 个人觉得,学习技术就像一棵大树,主干很重要,枝叶其次.对于学习技术,我们应该分清主次关系.怎么学?为什么要学?有一个较好的分寸. 有时候觉得 国内有些教育,从一开始就从枝叶 细节说的很清楚.说了一大堆,就是很散的感觉,虽然有很多知识.但是学的人呢,并不清楚这个的实际应用, 这样会导致学习兴趣的缺失.个人觉得 就比如 php 和mysql吧,虽然我也不是高手,但就学习上面还是能评论几句的,比如我从表单开始 讲表单的注册,也就是 网站会员

InnoSQL HA Suite的实现原理与配置说明 InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync replicaiton)的功能 MySQL 5.6支持了crash safe功能

InnoSQL HA Suite的实现原理与配置说明  InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync replicaiton)的功能 MySQL 5.6支持了crash safe功能 http://www.innomysql.net/article/7403.html Virtual Sync Replication 搭建一个MySQL数据库的复制(replication)环境是相当简单的,这点是MySQL

PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))

PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索 中文分词: a)   robbe PHP中文分词扩展: http://www.boyunjian.com/v/softd/robbe.html i.  Robbe完整版本下载:Robbe完整版本(PHP测试程序, 开发帮助文档, WinNT下php各版本的dll文件)下载: http://code.google.com/p/robbe(“谷歌”无法使用) b) SCWS(简易中文分词) 基于HTTP/POST的分词 : htt