永发信息网

dedecms 点赞功能怎么做呢

答案:3  悬赏:60  手机版
解决时间 2021-03-03 00:33
  • 提问者网友:蓝莓格格巫
  • 2021-03-02 11:30
dedecms 点赞功能怎么做呢
最佳答案
  • 五星知识达人网友:长青诗
  • 2021-03-02 12:36
require_once (dirname(__FILE__) . "/include/common.inc.php");
$ip =getip(); //获取用户IP 
$id = $_POST['id']; 
if(!isset($id) || empty($id)) exit; 
 
//查询已赞过的IP
$dsql->SetQuery("SELECt ip FROM #@__zan  WHERe aid='".$id."' and ip='$ip'");
$dsql->Execute();
$count = $dsql->GetTotalRow();
 
if($count==0){ //如果没有记录 
 
    $dsql->ExecuteNoneQuery("update #@__archives set zan=zan+1 where id='$id'; ");//写入赞数
     
    $dsql->ExecuteNoneQuery("insert into #@__zan (aid,ip) values ('$id','$ip'); ");//写入IP,及被赞的AID 
 
    $rows = $dsql->GetOne("Select zan  from #@__archives where id='".$id."'");//获取被赞的数量
    $zan = $rows['zan']; //获取赞数值 
    echo $zan; 
}else{ 
    echo "赞过了.."; 
}
全部回答
  • 1楼网友:大漠
  • 2021-03-02 12:56

首先后台执行SQL
ALTER TABLE dede_archives ADD zan int(11) NOT NULL DEFAULT '0' AFTER weight;


也就是在 dede_archives 表中增加 zan  这个字段,加到weight这个字段后边。


然后执行CREATE TABLE IF NOT EXISTS `dede_zan` ( 
  `id` int(11) NOT NULL AUTO_INCREMENT, 
  `aid` int(11) NOT NULL, 
  `ip` varchar(40) NOT NULL, 
  PRIMARY KEY (`id`) 
) ENGINE=MyISAM  DEFAULT CHARSET=utf8
这个表是保存被赞的文档aid 及IP的,为了检测是否赞过的IP


然后在include/extend.func.php 中增加以下函数,用来获取文档被赞次数的function zan($aid)
{
global $dsql;
$row = $dsql->GetOne("Select id,zan From dede_archives where id='".$aid."'");
return $row['zan'];
}




打开模板templets/default/article_article.htm


加入css.zan p{
background:#000; opacity:.8;filter:alpha(opacity=80);} 
.zan p a{padding-left:30px; height:24px; background:url(/images/heart.png) no-repeat  
4px -1px;color:#fff; font-weight:bold; font-size:14px} 
.zan p a:hover{background-position:4px -25px;text-decoration:none}


加入JS,记得引入jquery.js
$(function(){ 
    $("p a").click(function(){ 
        var zan = $(this); 
        var id = zan.attr("rel"); //对应id 
        zan.fadeOut(300); //渐隐效果 
        $.ajax({ 
            type:"POST", 
            url:"/zan.php", 
            data:"id="+id, 
            cache:false, //不缓存此页面 
            success:function(data){ 
                zan.html(data); 
                zan.fadeIn(300); //渐显效果 
            } 
        }); 
        return false; 
    }); 
});


加入
title="赞一个 "class="img_on" rel="{dede:field.id/}">{dede:field.id function="zan(@me)"/}





建立zan.php 放到根目录require_once (dirname(__FILE__) . "/include/common.inc.php");
$ip =getip(); //获取用户IP 
$id = $_POST['id']; 
if(!isset($id) || empty($id)) exit; 
//查询已赞过的IP
$dsql->SetQuery("SELECt ip FROM #@__zan  WHERe aid='".$id."' and ip='$ip'");
$dsql->Execute();
$count = $dsql->GetTotalRow();
if($count==0){ //如果没有记录 
    $dsql->ExecuteNoneQuery("update #@__archives set zan=zan+1 where id='$id'; ");//写入赞数
    
$dsql->ExecuteNoneQuery("insert into #@__zan (aid,ip) values ('$id','$ip'); ");//写入IP,及被赞的AID 
$rows = $dsql->GetOne("Select zan  from #@__archives where id='".$id."'");//获取被赞的数量
    $zan = $rows['zan']; //获取赞数值 
    echo $zan; 
}else{ 
    echo "赞过了.."; 
}


好了,点赞功能开发好了。
关于织梦的一些二次开发大家也可以到jjm.hk去看看
我会不定时更新一些功能上的二次开发分享给大家。
演示地址:http://www.jjm.hk/z.html


红心图片下载附件
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
嘉兴市新塍派出所周末可以拿居住证吗?
美景人家地址在什么地方,想过去办事
北京的著名发廊?
网友们能推荐邮轮旅游哪个好吗
国网山东寿光市供电公司广场营业厅怎么去啊,有知
【、摩托车 每小时行几千米】
金汉娟是谁
我使用spool时出来的txt字段含有空格,怎么去掉
成都市税务局宿舍地址在什么地方,想过去办事
给孩子取名字
学校艺体体育,以后考上大学可以选其他专业吗?
祥和商店(凌海市果树局西北)在什么地方啊,我要过
老公欠小三钱,但是也浪费了老公很多钱
如何修复拍模糊的照片
【腹腔镜下胆囊切除术】下述哪项是腹腔镜胆囊切除
推荐资讯
马卫忠精品干果调料批发我想知道这个在什么地方
女人半路出家学会计会有前途吗
中国联通永盛手机怎么去啊,有知道地址的么
绿松石磨圆机器,小型的,打磨钻空一体机
诚信鞋业服饰广场西门我想知道这个在什么地方
MBR工艺处理渗沥液污泥产量有多少
为什么会停电
咒怨有多少部(日版的)
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?