Rumah php教程 PHP源码 PHP+MySql+jQuery实现的“顶”和“踩”投票功能

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

Jun 02, 2016 am 09:14 AM

跳至 [1] [全屏预览]
CREATE TABLE IF NOT EXISTS `votes` ( 
  `id` int(10) NOT NULL AUTO_INCREMENT, 
  `likes` int(10) NOT NULL DEFAULT '0', 
  `unlikes` int(10) NOT NULL DEFAULT '0', 
  PRIMARY KEY (`id`) 
) ENGINE=MyISAM  DEFAULT CHARSET=utf8; 
 
 
INSERT INTO `votes` (`id`, `likes`, `unlikes`) VALUES 
(1, 30, 10); 
 
CREATE TABLE IF NOT EXISTS `votes_ip` ( 
  `id` int(10) NOT NULL, 
  `vid` int(10) NOT NULL, 
  `ip` varchar(40) NOT NULL 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

-------------div--------------------------------------

<div class="digg">  
    <div id="dig_up" class="digup"> 
        <span id="num_up"></span> 
        <p>很好,很强大!</p> 
        <div id="bar_up" class="bar"><span></span><i></i></div> 
    </div> 
       <div id="dig_down" class="digdown"> 
        <span id="num_down"></span> 
        <p>太差劲了!</p> 
        <div id="bar_down" class="bar"><span></span><i></i></div> 
    </div> 
    <div id="msg"></div> 
</div> 



-------------css--------------------------
.digg{width:420px; height:120px; margin:80px auto 20px auto; position:relative} 
#dig_up,#dig_down{width:200px; height:48px; margin:10px; position:relative;  
border:1px solid #d3d3d3; padding-left:42px; cursor:pointer} 
.digup{background:url(diggs.png) no-repeat 4px 2px;} 
.digup_on{background:url(diggs.png) no-repeat 4px -49px;} 
.digdown{background:url(diggs.png) no-repeat 4px -102px;} 
.digdown_on{background:url(diggs.png) no-repeat 4px -154px;} 
#num_up,#num_down{position:absolute; right:6px; top:18px; font-size:20px;} 
#dig_up p{height:24px; line-height:24px; color:#360} 
#dig_down p{height:24px; line-height:24px; color:#f30} 
.bar{width:100px; height:12px; line-height:12px; border:1px solid #f0f0f0;  
position:relative; text-align:center} 
.bar span{display:block; height:12px; } 
.bar i{position:absolute; top:0; left:104px;} 
#bar_up span{background:#360} 
#bar_down span{background:#f60} 
#msg{position:absolute; right:20px; top:40px; font-size:18px; color:#f00} 



-------jquery-------------------------

$(function(){ 
    //鼠标滑向和离开投票按钮时,变换背景样式 
    $("#dig_up").hover(function(){ 
        $(this).addClass("digup_on"); 
    },function(){ 
        $(this).removeClass("digup_on"); 
    }); 
    $("#dig_down").hover(function(){ 
        $(this).addClass("digdown_on"); 
    },function(){ 
        $(this).removeClass("digdown_on"); 
    }); 
     
    //初始化数据 
    getdata("do.php",1); 
     
    //单击“顶”时 
    $("#dig_up").click(function(){ 
        getdata("do.php?action=like",1); 
    }); 
    //单击“踩”时 
    $("#dig_down").click(function(){ 
        getdata("do.php?action=unlike",1); 
    }); 
}); 



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


---------php--------------------------

include_once("connect.php");//连接数据库 
 
$action = $_GET['action']; 
$id = 1; 
$ip = get_client_ip();//获取ip 
 
if($action=='like'){//顶 
    likes(1,$id,$ip); 
}elseif($action=='unlike'){//踩 
    likes(0,$id,$ip); 
}else{ 
    echo jsons($id); 
} 

------------------------------------
function likes($type,$id,$ip){ 
    $ip_sql=mysql_query("select ip from votes_ip where vid='$id' and ip='$ip'"); 
    $count=mysql_num_rows($ip_sql); 
    if($count==0){//还没有顶过 
        if($type==1){//顶 
            $sql = "update votes set likes=likes+1 where id=".$id; 
        }else{//踩 
            $sql = "update votes set unlikes=unlikes+1 where id=".$id; 
        } 
        mysql_query($sql); 
         
        $sql_in = "insert into votes_ip (vid,ip) values ('$id','$ip')"; 
        mysql_query($sql_in); 
         
        if(mysql_insert_id()>0){ 
            echo jsons($id); 
        }else{ 
            $arr['success'] = 0; 
            $arr['msg'] = '操作失败,请重试'; 
            echo json_encode($arr); 
        } 
    }else{ 
        $msg = $type==1?'您已经顶过了':'您已经踩过了'; 
        $arr['success'] = 0; 
        $arr['msg'] = $msg; 
        echo json_encode($arr); 
    } 
} 


-----------php-------------------------


function jsons($id){ 
    $query = mysql_query("select * from votes where id=".$id); 
    $row = mysql_fetch_array($query); 
    $like = $row['likes']; 
    $unlike = $row['unlikes']; 
    $arr['success']=1; 
    $arr['like'] = $like; 
    $arr['unlike'] = $unlike; 
    $like_percent = round($like/($like+$unlike),3)*100; 
    $arr['like_percent'] = $like_percent.'%'; 
    $arr['unlike_percent'] = (100-$like_percent).'%'; 
     
    return json_encode($arr); 
} 
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1671
14
Tutorial PHP
1276
29
Tutorial C#
1256
24