国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php+jQuery+Ajax實現(xiàn)點贊效果的方法(附源碼下載)

2024-05-04 23:41:45
字體:
供稿:網(wǎng)友
這篇文章主要介紹了php+jQuery+Ajax實現(xiàn)點贊效果的方法,結(jié)合實例形式詳細介紹了php結(jié)合jQuery的ajax無刷新提交實現(xiàn)點贊功能的具體步驟與相關技巧,需要的朋友可以參考下
 

本文實例講述了php+jQuery+Ajax實現(xiàn)點贊效果的方法。分享給大家供大家參考,具體如下:

數(shù)據(jù)庫設計

先準備兩張表,pic表保存的是圖片信息,包括圖片對應的名稱、路徑以及圖片“贊”總數(shù),pic_ip則記錄用戶點擊贊后的IP數(shù)據(jù)。

CREATE TABLE IF NOT EXISTS `pic` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pic_name` varchar(60) NOT NULL, `pic_url` varchar(60) NOT NULL, `love` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS `pic_ip` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pic_id` int(11) NOT NULL, `ip` varchar(40) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8

index.php

在index.php中,我們通過PHP讀取pic表中的圖片信息并展示出來,結(jié)合CSS,提升頁面展示效果。

<?php   include_once("connect.php");   $sql = mysql_query("select * from pic");   while($row=mysql_fetch_array($sql)){     $pic_id = $row['id'];     $pic_name = $row['pic_name'];     $pic_url = $row['pic_url'];     $love = $row['love'];   ?>   <li><img src="images/<?php echo $pic_url;?>" style="margin: 0px; padding: 0px; width: 660px; overflow: hidden; clear: both;">		
.list{width:760px; margin:20px auto}.list li{float:left; width:360px; height:280px; margin:10px; position:relative}.list li p{position:absolute; top:0; left:0; width:360px; height:24px; line-height:24px;background:#000; opacity:.8;filter:alpha(opacity=80);}.list li p a{padding-left:30px; height:24px; background:url(images/heart.png) no-repeat4px -1px;color:#fff; font-weight:bold; font-size:14px}.list li p a:hover{background-position:4px -25px;text-decoration:none}

jQuery代碼

當用戶點擊自己喜歡的圖片上的紅心按鈕時,向后臺love.php發(fā)送ajax請求,請求響應成功后,更新原有的數(shù)值

$(function(){  $("p a").click(function(){    var love = $(this);    var id = love.attr("rel"); //對應id    love.fadeOut(300); //漸隱效果    $.ajax({      type:"POST",      url:"love.php",      data:"id="+id,      cache:false, //不緩存此頁面      success:function(data){        love.html(data);        love.fadeIn(300); //漸顯效果      }    });    return false;  });});

love.php

后臺love.php接收前端的ajax請求,根據(jù)提交的圖片id值,查找IP表中是否已有該用戶ip的點擊記錄,如果有則告訴用戶已“贊過了”,反之,則進行一下操作:

1、更新圖片表中對應的圖片love字段值,將數(shù)值加1。
2、將該用戶IP信息寫入到pic_ip表中,用以防止用戶重復點擊。
3、獲取更新后的贊值,即贊該圖片的用戶總數(shù),并將該總數(shù)輸出給前端頁面。

include_once("connect.php"); //連接數(shù)據(jù)庫$ip = get_client_ip(); //獲取用戶IP$id = $_POST['id'];if(!isset($id) || empty($id)) exit;$ip_sql=mysql_query("select ip from pic_ip where pic_id='$id' and ip='$ip'");$count=mysql_num_rows($ip_sql);if($count==0){ //如果沒有記錄  $sql = "update pic set love=love+1 where id='$id'"; //更新數(shù)據(jù)  mysql_query( $sql);  $sql_in = "insert into pic_ip (pic_id,ip) values ('$id','$ip')"; //寫入數(shù)據(jù)  mysql_query( $sql_in);  $result = mysql_query("select love from pic where id='$id'");  $row = mysql_fetch_array($result);  $love = $row['love']; //獲取贊數(shù)值  echo $love;}else{  echo "贊過了..";}

我上傳的附件中 數(shù)據(jù)庫SQL 你可以直接建立test 數(shù)據(jù)庫UTF8編碼的,然后把SQL文件導入進去。修改一下connect.php中數(shù)據(jù)庫的連接信息即可。

源文件點擊此處本站下載。

總結(jié):

其實就是發(fā)了一個ajax請求,比如你要贊一個商品。商品表肯定有一個計數(shù)的字段。你發(fā)一個請求過去把這個字段+1

該成功了就返回一個現(xiàn)在的數(shù)。然后把頁面改一下就成了

function Zan( goodsId, a ){  $.post( "/goods/zan/"+goodsId, null,function( ret ){     if( ret.status == 'ok' )      $(a).html( ret.zannum);     else      alert( ret.data );  },'json' );}

希望本文所述對大家php程序設計有所幫助。



注:相關教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 漠河县| 黄平县| 电白县| 德庆县| 阿拉善左旗| 宁城县| 天峻县| 武强县| 静安区| 老河口市| 湖南省| 宜丰县| 宁津县| 浮梁县| 靖宇县| 张家港市| 岢岚县| 漳浦县| 桂阳县| 仲巴县| 布尔津县| 镇宁| 白山市| 通辽市| 临漳县| 塔城市| 临沂市| 苏州市| 江都市| 囊谦县| 麻城市| 濮阳市| 漳浦县| 越西县| 池州市| 衡南县| 武功县| 武定县| 武定县| 济源市| 桂阳县|