當前位置:工程項目OA系統(tǒng) > 泛普各地 > 江西OA系統(tǒng) > 新余OA > 新余網(wǎng)站建設(shè)公司
php+jquery 星級評分程序
- <li>游戲評分:
- <div>
- 總評分:<span id="showpf"><script type="text/javascript" src="www.xxx.com/showinfo.php?action=pingfen&gid=<?=$arcid?>&pdid=1"></script></span>
- <p id="rate_span"></p>
- <div id="pfnum">
- <img src="http://inncache.soso.com/xsoso/images/empty_star.gif" width="28" title="<?=$arcid?>" height="28" class="ratestar_img" alt="1分,點擊進行評分!" />
- <img src="http://inncache.soso.com/xsoso/images/empty_star.gif" width="28" title="<?=$arcid?>" height="28" class="ratestar_img" alt="2分,點擊進行評分!" />
- <img src="http://inncache.soso.com/xsoso/images/empty_star.gif" width="28" title="<?=$arcid?>" height="28" class="ratestar_img" alt="3分,點擊進行評分!" />
- <img src="http://inncache.soso.com/xsoso/images/empty_star.gif" width="28" title="<?=$arcid?>" height="28" class="ratestar_img" alt="4分,點擊進行評分!" />
- <img src="http://inncache.soso.com/xsoso/images/empty_star.gif" width="28" title="<?=$arcid?>" height="28" class="ratestar_img" alt="5分,點擊進行評分!" />
- <img src="http://inncache.soso.com/xsoso/images/empty_star.gif" width="28" title="<?=$arcid?>" height="28" class="ratestar_img" alt="6分,點擊進行評分!" />
- <img src="http://inncache.soso.com/xsoso/images/empty_star.gif" width="28" title="<?=$arcid?>" height="28" class="ratestar_img" alt="7分,點擊進行評分!" />
- <img src="http://inncache.soso.com/xsoso/images/empty_star.gif" width="28" title="<?=$arcid?>" height="28" class="ratestar_img" alt="8分,點擊進行評分!" />
- <img src="http://inncache.soso.com/xsoso/images/empty_star.gif" width="28" title="<?=$arcid?>" height="28" class="ratestar_img" alt="9分,點擊進行評分!" />
- <img src="http://inncache.soso.com/xsoso/images/empty_star.gif" width="28" title="<?=$arcid?>" height="28" class="ratestar_img" alt="10分,點擊進行評分!" />
- </div>
- <span style="font-size:36px;" id="bigrate_span"><script type="text/javascript" src="www.xxx.com/showinfo.php?action=pingfen&gid=<?=$arcid?>&pdid=1"></script></span>
- </div>
- </li>
HTML 注釋:
<?=$arcid?> 文章ID
pdid=1 這個大家不用管,這是我區(qū)分游戲,軟件,和新聞加的一個頻道ID
showinfo.php 顯示當前評分 這個就不搬出來了,就是查詢出你數(shù)據(jù)庫現(xiàn)在這個游戲的評分,至于數(shù)據(jù)庫呆會另外一個文件會詳細講解,請繼續(xù)往下看。
現(xiàn)在開始上JQ了
- $(function(){
- //目前評分狀況
- var spoint = parseInt($("#showpf").text());
- var avarankstr = '';
- if(spoint <= 4){
- avarankstr="(垃圾中的戰(zhàn)斗機)";
- }else if(spoint <= 7){
- avarankstr="(湊合著過日子吧,可以試試)";
- }else if(spoint <= 9){
- avarankstr="(很好,強烈推薦)";
- }else{
- avarankstr="(非常完美,絕世佳作)";
- }
- //顯示根據(jù)評分得出的中文描述
- $("#rate_span").html(avarankstr);
- //循環(huán)出目前的星級
- $("#pfnum img").each(function(i){
- if(i <= spoint-1){
- $(this).attr("src","http://inncache.soso.com/xsoso/images/newxw/full_star.gif");
- }
- //緩存一個星星數(shù)據(jù),添加鼠標經(jīng)過和離開動作,鼠標離開則還原到原有評分星級
- $(this).data("point",(i+1));
- $(this).hover(function(){
- var point=$(this).data("point");
- $.fn.drawpoint(point);
- $("#bigrate_span").html(point);
- },function(){
- $.fn.drawpoint(spoint);
- $("#bigrate_span").html(spoint);
- $("#rate_span").html(avarankstr);
- });
- });
- //點擊進行評分
- $("#pfnum img").click(function(){
- var indexpf = $(this).index()+1;
- var gid = $(this).attr("title");
- //這個地方大家注意下,因為我之前是要跨域,所以用了getJSON,如果沒跨域的話就直接 .get 就可以了。
- $.getJSON('http://m.bbb.com/countdown.php?action=pingfen&pdid=1&field_id='+gid+'&pf='+indexpf+'&callback=?',function(data){
- if(data.pf=='a'){
- alert("這個游戲你已經(jīng)評分過了");
- }else if(data.pf=='b'){
- alert("五分鐘內(nèi)只允許評分一次");
- }else if(data.pf=='c'){
- alert("網(wǎng)絡(luò)發(fā)生未知錯誤,請稍后再試");
- }else{
- $("#showpf").text(data.pf);
- spoint = data.pf;
- $.fn.drawpoint(data.pf);
- alert("您成功的評分了一個游戲");
- alert(data.pf);
- }
- });
- });
- //星級處理方法
- $.fn.drawpoint=function(point){
- if(point <= 4){
- avarankstr="(垃圾中的戰(zhàn)斗機)";
- }else if(point <= 7){
- avarankstr="(湊合著過日子吧,可以試試)";
- }else if(point <= 9){
- avarankstr="(很好,強烈推薦)";
- }else{
- avarankstr="(非常完美,絕世佳作)";
- }
- $("#rate_span").html(avarankstr);
- $("#pfnum img").each(function(i){
- if(i <= point-1){
- $(this).attr("src","http://inncache.soso.com/xsoso/images/newxw/full_star.gif");
- }else{
- $(this).attr("src","http://inncache.soso.com/xsoso/images/newxw/empty_star.gif");
- }
- });
- }
- });
最后PHP處理文件
- //統(tǒng)計評分
- function countpf($field_id,$pdid,$pf){
- global $db;
- $field_id = intval($field_id);
- $pdid = intval($pdid);
- $pf = intval($pf);
- $tableName = 'otherinfo';
- $rs = $db->query("select * from $tableName where gid=$field_id and pdid=$pdid");
- //如果之前沒有評分過, !rs也可以
- if($db->num_rows($rs) < 1){
- $db->query("insert into $tableName values(NULL,$field_id,$pdid,0,0,0,$pf,1,0)");
- $r_pf = $pf;
- }
- //否則重新計算
- else{
- $result = $db->fetch_array($rs);
- $pfnum = $result['pfnum']; //評分人數(shù)
- $pfnum++;
- $pf = $pf+$result['pf']; //相加之前的評分
- $r_pf = ceil($pf/$pfnum); //去整,小數(shù)點評分沒弄,大家可以自己弄弄
- $db->query("update $tableName set pf=$pf,pfnum=$pfnum where id=$result[id]");
- }
- return $r_pf; //返回現(xiàn)在評分
- }
- if($_GET['action'] == 'pingfen' && $_GET['field_id'] && $_GET['pdid'] && $_GET['pf'] && isset($_REQUEST['callback'])){
- //獲取用戶IP和文章ID,方法自己找一個。
- $cookiestr = get_onlineip().$_GET['field_id'];
- //這個文章是否已經(jīng)被評過
- if(isset($_COOKIE['pfperson']) && $_COOKIE['pfperson']==$cookiestr){
- $str = 'a';
- }
- //防止惡意評分,每五分鐘才可以評一次
- elseif(isset($_COOKIE['pftime']) && (time()-intval($_COOKIE['pftime']) <= 300)){
- $str = 'b';
- }else{
- //設(shè)置COOKIE
- set_cookie("pfperson",$cookiestr,time()+3600*365);
- set_cookie("pftime",time(),time()+3600*365);
- //處理評分
- $str = countpf($_GET['field_id'],$_GET['pdid'],$_GET['pf']);
- }
- //如果沒跨域的話,直接 echo $str, 不用輸出JSON格式
- $callback = $_REQUEST['callback'];
- $arr = array('pf' => $str);
- $json = json_encode($arr);
- $json = $callback . '(' . $json . ')';
- echo $json;
- }else{
- exit;
- }
數(shù)據(jù)庫: id,pdid, gid, pf, pfnum 全部int型。
JQ版本 1.4
PHP 5.2.6
新余網(wǎng)站建設(shè)
- 1新余網(wǎng)站設(shè)計公司如何設(shè)計方案
- 2Uchome文件系統(tǒng)結(jié)構(gòu)大概
- 3優(yōu)化中代碼需要注意的
- 4阿里云備案流程-首次備案
- 5新余網(wǎng)站建設(shè)項目開發(fā)流程
- 6ThinkPHP_2.1_full_with_extend 升級到ThinkPHP3.0一些看法
- 7系統(tǒng)的二次開發(fā)、初試ECSHOP制作模板
- 8企業(yè)網(wǎng)站優(yōu)化中的內(nèi)容營銷
- 9怎樣隱藏服務(wù)和版本信息
- 10網(wǎng)站優(yōu)化中需要注意細節(jié)
- 11企業(yè)為什么偏偏需要資深的網(wǎng)站建設(shè)單位做官網(wǎng)呢?
- 12遇到網(wǎng)站降權(quán)怎么處理?
- 13怎么添加網(wǎng)站統(tǒng)計代碼?
- 14如何才能在網(wǎng)站建設(shè)的過程中做到內(nèi)容豐富呢?
- 15養(yǎng)成幾條PHP編程好習(xí)慣
- 16企業(yè)為什么須要權(quán)威的網(wǎng)站設(shè)計單位做官方網(wǎng)站呢?
- 17怎樣用Jquery 判斷radio,selelct,checkbox是否選中
- 18新余網(wǎng)站建設(shè)哪里有?
- 19網(wǎng)站建設(shè)之網(wǎng)站定位
- 20老域名的利弊
- 21怎樣使用php 獲取遠程網(wǎng)址頭部信息
- 22網(wǎng)站標題文字怎么修改?
- 23高權(quán)重的網(wǎng)站的表現(xiàn)
- 24企業(yè)為什么偏偏需要權(quán)威的網(wǎng)站開發(fā)企業(yè)做官網(wǎng)呢?
- 25垂直B2B行業(yè)轉(zhuǎn)型成功
- 26sockettj_http_get 獲取 URL 地址結(jié)果
- 27三種方法使PHP生成靜態(tài)html文件
- 28轉(zhuǎn)化率對網(wǎng)站的影響和改善
- 29新余網(wǎng)站優(yōu)化之分析數(shù)據(jù)
- 30新余網(wǎng)站優(yōu)化關(guān)于網(wǎng)站的PR問題
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓