實現贊,踩功能需要的一些需求:
1.記錄使用者的ip,根據ip判斷使用者的投票行為是否有效
2.需要兩張表,一張是統計贊和踩的數量的,一張是記錄贊或踩過的使用者ip的
3.頁面載入完成需要顯示的贊和踩的資料用ajax從服務端獲取,以後每次點讚,點踩也是用ajax從服務端獲取
html ** (額,因為這個主要實現的是邏輯,所以介面就很簡單啦 ,嘿嘿)
這個html**很簡單,就不多說了
支援數:
0支援率:
0%
支援數:
0支援率:
0%
jquery**
因為不管是初始化,還是後來按鈕事件的ajax** 都差不多一樣,所以寫在乙個函式裡
引數中 $id 是文章id(這裡那文章舉例 ,就比如你有十篇,每篇文章都有贊和踩的功能,可以給每篇文章乙個id,然後到服務端取的就是這個文章下邊的贊和踩數量了)
當投票失敗的時候,會將從服務端獲取的失敗資訊,已漸淡的動畫效果顯示在頁面上。
function getdata(url,$id),function(data)else)
.animate(, "slow");
} });
}
剩下的jquery執行**
$(document).ready(function()else if($(this).is('#cai'))
getdata(url,$id);
});});
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,
`ip` varchar(40) not null
) engine=myisam default charset=utf8;
php**
(連線資料庫的那一部分**,我沒有貼出來)
$evaluate = $_get['action'];
$id = $_get['id'];
$ip = get_client_ip();
if($evaluate == 'like')else if($evaluate == 'unlike')else
php需要的函式
function likes($type,$id,$ip,$db)else
mysqli_query($db,$sql);
$sql_in = "insert into votes_ip (id,ip) values ('$id','$ip')";
mysqli_query($db, $sql_in);
if(mysqli_affected_rows($db)>0)else
}else
}
function jsons($id,$db)
function get_client_ip()
實現效果就是這個樣子 php mysql ajax點讚和踩的功能
html 給力 不給力 html對應的php檔案 action get action 獲取get方式傳過來的action require once array ovovsys zan.php switch action smarty assign zan list zan lists 查詢當前登入的...
ajax 實現點讚功能
原理 1.通過ajax將資料提交到服務端。2.服務端處理並返回結果。jquery的ajax形式如下 ajax 需要提交的資料 success function data if data 2 服務端處理資料 post接受資料 id post id user post user sql update t...
redis實現點讚功能參考
public void likearticle long articleid,long likeduserid,long likedpostid likeduserid likedpostid articleid,likeduserid,likedpostid synchronized this l...