首页 > 代码插件 > EMlog非插件实现点赞功能教程–将军资源网

EMlog非插件实现点赞功能教程–将军资源网

13-07-34-7f561556419610.jpg

第一步

你的模版/module.php增加如下代码 别放错了哦

  1. <?php //点赞
  2. function syzan(){
  3. $DB = MySql::getInstance();
  4. if($DB->num_rows($DB->query("show columns from ".DB_PREFIX."blog like 'slzan'")) == 0){
  5. $sql = "ALTER TABLE ".DB_PREFIX."blog ADD slzan int unsigned NOT NULL DEFAULT '0'";
  6. $DB->query($sql);}}syzan();
  7. function update($logid){
  8. $logid = intval($_POST['id']);
  9. $DB = Database::getInstance();
  10. $DB->query("UPDATE " . DB_PREFIX . "blog SET slzan=slzan+1 WHERE gid=$logid");
  11. setcookie('slzanpd_'. $logid, 'true', time() +31536000);}
  12. function lemoninit() {if( @$_POST['plugin'] =='slzanpd' &&@$_POST['action'] == 'slzan'&&isset($_POST['id'])){
  13. $id = intval($_POST['id']);
  14. header("Access-Control-Allow-Origin: *");
  15. update($id);echo getnum($id);die;}}lemoninit();
  16. function getnum($id){
  17. static $arr = array();
  18. $DB = Database::getInstance();
  19. if(isset($arr[$logid])) return $arr[$logid];
  20. $sql = "SELECT slzan FROM " . DB_PREFIX ."blog WHERE gid=$id";
  21. $res = $DB->query($sql);
  22. $row = $DB->fetch_array($res);
  23. $arr[$id] = intval($row['slzan']);
  24. return $arr[$id];}
  25. ?>

第二步

你的模板公用的js 以下代码

  1. /*点赞*/
  2. $(document).on('click', '.slzanpd',
  3. function() {
  4. var a = $(this),
  5. id = a.data('slzanpd');
  6. if (slzanpd_check(id)) {
  7. alert('您已赞过本文!');
  8. } else {
  9. $.post('', {
  10. plugin: 'slzanpd',
  11. action: 'slzan',
  12. id: id
  13. },
  14. function(b) {
  15. a.find('u').html(b);
  16. slzanpd_(a);
  17. });
  18. }
  19. });
  20. function slzanpd_check(id) {
  21. return new RegExp('slzanpd_' + id +'=true').test(document.cookie);
  22. }
  23. $('[data-slzanpd]').each(function() {
  24. var a = $(this),
  25. id = a.data('slzanpd');
  26. if (slzanpd_check(id)) {
  27. slzanpd_(a);
  28. } else {
  29. a.attr('title', '给小站来点动力吧!')
  30. }
  31. });
  32. function slzanpd_(a) {
  33. a.css('cursor', 'not-allowed').attr('title', '您已赞过本文!');
  34. }

第三步

你的模板公用的css 放点赞的css特效代码

  1. .shareBox {
  2. width: 130px;
  3. height: 40px;
  4. line-height: 40px;
  5. border: 1px solid #F74840;
  6. text-align: center;
  7. margin: 0 2px;
  8. color: #F74840;
  9. font-size: 14px;
  10. }

第四部

点赞的输出按钮放在你要显示的地方就行了

  1. <div class="shareBox">
  2. <a class="slzanpd" data-slzanpd="<?php echo $logData['logid'];?>" title="喜欢这篇文章就赞一个吧!">赞 (<?php echo(isset($logData['slzan'])?$logData['slzan']:getnum($logData['logid']));?>次)</a>

已有 0/30026 人参与

发表评论:

侵权删帖/违法举报/商务合作/投稿等事物联系邮箱:2930885395@qq.com 或 QQ2930885395
苏ICP备19016014号-1 sitemap