您好,UncleToo欢迎您!  为了更好的浏览本站,请使用高版本浏览器
RSS  Tag     设为首页 | 加入收藏
 您所在的位置:首页 > PHP技术 > PHP应用

PHP 基于Ajax和Cookie实现喜欢与不喜欢 点赞

作者:UncleToo  来源:原创  日期:2014-01-16 8:23:55
收藏  评论:( 5 )  阅读:3750

现在互联网上流程的社交网站或微博上,都会有点赞的功能。本章教程UncleToo将分享一个PHP+Ajax+Cookie实现用户点赞的功能。先看想实现效果:


【查看演示】

【下载完整代码】


下面我们看看如何实现这一功能。

首先我们需要创建用户表:

Create TABLE IF NOT EXISTS `product` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(250) NOT NULL,
  `pLike` int(11) NOT NULL,
  `pDislike` int(11) NOT NULL,
  PRIMARY KEY (`id`)
)


创建数据库连接文件 dbConnect.inc.php

$mysql_db_hostname = "Host name";
$mysql_db_user = "UserName";
$mysql_db_password = "Password";
$mysql_db_database = "Database Name";
$con = mysql_connect($mysql_db_hostname, $mysql_db_user,
       $mysql_db_password or die("Could not connect database");
//Create a new connection
mysql_select_db($mysql_db_database, $con) or
                 die("Could not select database");
// select database


创建首页,包括记录显示  index.php

include_once('inc/dbConnect.inc.php');
//connect with database
$query="select * from product order by id desc";
// query for fetch all products
$res=mysql_query($query);
$countProduct=mysql_num_rows($res);
// check how many products are avaliable


//Java Script Code
<script type="text/javascript" src="js/jquery-1.4.1.min.js">
</script>
// jquery library file
<script type="text/javascript">
function changeLikeDislike(type,id){
   var dataString = 'id='+ id + '&type=' + type;
   $("#product_flash_"+id).show();
   $("#product_flash_"+id).fadeIn(400).html
                          ('<img src="image/loading.gif" />');
   $.ajax({
     type: "POST",
     url: "changeLikeDislike.php",
     data: dataString,
     cache: false,
     success: function(result){
     if(result){
        var position=result.indexOf("||");
        var warningMessage=result.substring(0,position);
        if(warningMessage=='success'){
           var successMessage=result.substring(position+2);
           $("#product_flash_"+id).html('&nbsp;');
           $("#product_"+type+"_"+id).html(successMessage);
        }else{
           var errorMessage=result.substring(position+2);
           $("#product_flash_"+id).html(errorMessage);
        }
     }
   }
  });
}
</script>


创建登录及Cookie处理文件 changeLikeDislike.php

include_once('inc/dbConnect.inc.php');
 // connect with database
 $type=$_POST['type'];
 $id=$_POST['id'];
 if(isset($_COOKIE['likeDislike'."_".$id])) // check cookie
      echo "error||Already Voted"; // if exist display message
 else{
     if($type=='like'){
         $fieldName='pLike';
     }elseif($type=='dislike'){
         $fieldName='pDislike';
     }else{
         die();
     }
    $query="update product set $fieldName=$fieldName+1 where id='$id'";
     // update like/dislike count
     $res=mysql_query($query);
     $query="select $fieldName from product where id='$id'";
     // check updated new count
     $res=mysql_query($query);
     $result=mysql_fetch_array($res);
     $count=$result[$fieldName];
     $expire=time()+60*60*24*30;
     setcookie("likeDislike"."_".$id, "likeDislike"."_".$id, $expire);
     //set cookie
     echo "success||".$count;
 }




PHP
 
Ajax
 
点赞
 
除非特别声明,本站所有PHP教程及其他教程/文章均为原创、翻译或网友投稿,版权均归UncleToo中文网所有, 转载请注明作者及出处。
原文网址:http://www.uncletoo.com/html/application/790.html
读完这篇文章后,你是否有所收获? 分享是一种生活的信念!
  • 0
  • 0
我来说两句
更多>>网友评论