0

0

PHP+Ajax实现文章心情投票功能(代码实例)

藏色散人

藏色散人

发布时间:2020-01-28 13:15:45

|

2261人浏览过

|

来源于cnblogs

转载

PHP+Ajax实现文章心情投票功能(代码实例)

一个php+ajax实现文章心情投票功能实例,可以学习了解实现投票的基本流程:通过ajax获取心情图标及柱状图相关数据,当用户点击其中的一个心情图标时,向ajax.php发送请求,php验证用户cookie防止重复提交,然后将mysql中对应的数据心情字段内容加1,成功后返回前端页面,并更新柱状图和统计数据。

246f3e8fe291d718d2ea0908f2cb54d.png

发表心情:

$id = (int)$_POST['id']; //文章或帖子id  
$mid = (int)$_POST['moodid']; //心情id(配置文件中提供8种心情)  
if(!$mid || !$id){  
    echo "此链接不存在";exit;  
}  
  
$havemood = chk_mood($id); //验证cookie  
if($havemood==1){  
    echo "您已经表达过心情了,保持平常心有益身心健康!";exit;  
}  
$field = 'mood'.$mid; //数据表中的心情字段,分别用mood0,mood1,mood2...表示不同的心情字段  
$query = mysql_query("update mood set ".$field."=".$field."+1 where id=".$id); //对应的心情字段值+1  
if($query){  
    setcookie("mood".$id, $mid.$id, time()+300); //设置cookie,为了测试我们设置cookie过期时间为300s  
    $query2 = mysql_query("select * from mood where id=$id");  
    $rs = mysql_fetch_array($query2);//获取该文章的心情数据  
    $total = $rs['mood0']+$rs['mood1']+$rs['mood2']+$rs['mood3']+$rs['mood4']+$rs['mood5']+  
$rs['mood6']+$rs['mood7'];  
    $height = round(($rs[$field]/$total)*$moodpicheight); //得到总量,并计算当前对应心情的柱状图的高度  
    echo $height; //返回当前心情柱状的高度  
}else{  
    echo -1; //数据出错  
}

获取心情:

$mname = explode(',',$moodname);//心情说明  
$num = count($mname);  
$mpic = explode(',',$moodpic);//心情图标  
  
$id = (int)$_GET['id']; //文章或帖子id  
$query = mysql_query("select * from mood where id=$id"); //查询对应的心情数据  
$rs = mysql_fetch_array($query);  
if($rs){  
    //得到发表心情的总量  
    $total = $rs['mood0']+$rs['mood1']+$rs['mood2']+$rs['mood3']+$rs['mood4']+  
$rs['mood5']+$rs['mood6']+$rs['mood7'];  
    for($i=0;$i<$num;$i++){  
        $field = 'mood'.$i; //字段名  
        $m_val = intval($rs[$field]); //心情对应的值(次数)  
        $height = 0; //柱图高度  
        if($total && $m_val){  
            $height=round(($m_val/$total)*$moodpicheight); //计算高度  
        }  
              
        $arr[] = array(  
            'mid' => $i, //对应心情id  
            'mood_name' => $mname[$i], //心情名称  
            'mood_pic' => $mpic[$i], //图标  
            'mood_val' => $m_val, //次数  
            'height' => $height //柱状图高度  
        );  
    }  
    echo json_encode($arr); //返回JSON数据  
}

获取心情列表信息,并展示在页面中:

台讯电子企业网站管理系统  简繁全功能版
台讯电子企业网站管理系统 简繁全功能版

超级适合代理建设企业站点的企业源码,超方面实用!程序说明: 1.特色:简繁中文切换、产品展示系统、新闻发布系统、会员管理系统、留言本计数器、网站信息统计、强大后台操作 功能等; 2.页面包括:首页、企业介绍、滚动公告通知发布系统、企业新闻系统、产品展示系统、企业案例发布展示系 统、企业招聘信息发布系统、信息资源下载系统、在线定单系统、在线客服系统、在线留言本系统、网站调查投票系统、友情连接系统、会

下载

立即学习PHP免费学习笔记(深入)”;

$(function(){  
    $.ajax({  
        type: 'GET', //通过get方式发送请求  
        url: 'ajax.php', //目标地址  
        cache: false, //不缓存数据,注意文明发表心情的数据是实时的,需将cache设置为false,默认是true  
        data: 'id=1', //参数,对应文章或帖子的id,本例中固定为1,实际应用中是获取当前文章或帖子的id  
        dataType: 'json', //数据类型为json  
        error: function(){  
            alert('出错了!');  
        },  
        success: function(json){ //请求成功后  
            if(json){  
                $.each(json,function(index,array){ //遍历json数据列  
                    var str = "
  • "+array['mood_val']+"
    @@##@@
    "+array['mood_name']+"
  • "; $("#mood ul").append(str); //将数据加入到#mood ul列表中 }); } } }); ... });

    数据库表建立直接运行以下代码:

    CREATE TABLE IF NOT EXISTS `mood` (  
      `id` int(11) NOT NULL,  
      `mood0` int(11) NOT NULL DEFAULT '0',  
      `mood1` int(11) NOT NULL DEFAULT '0',  
      `mood2` int(11) NOT NULL DEFAULT '0',  
      `mood3` int(11) NOT NULL DEFAULT '0',  
      `mood4` int(11) NOT NULL DEFAULT '0',  
      `mood5` int(11) NOT NULL DEFAULT '0',  
      `mood6` int(11) NOT NULL DEFAULT '0',  
      `mood7` int(11) NOT NULL DEFAULT '0',  
      PRIMARY KEY (`id`)  
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;  
      
      
    INSERT INTO `mood` (`id`, `mood0`, `mood1`, `mood2`, `mood3`, `mood4`, `mood5`, `mood6`, `mood7`)  
    VALUES(1, 8, 6, 20, 16, 6, 9, 15, 21);

    更多相关php知识,请访问php教程

    PHP+Ajax实现文章心情投票功能(代码实例)

    相关文章

    PHP速学教程(入门到精通)
    PHP速学教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    Java 桌面应用开发(JavaFX 实战)
    Java 桌面应用开发(JavaFX 实战)

    本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

    61

    2026.01.14

    php与html混编教程大全
    php与html混编教程大全

    本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

    31

    2026.01.13

    PHP 高性能
    PHP 高性能

    本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

    72

    2026.01.13

    MySQL数据库报错常见问题及解决方法大全
    MySQL数据库报错常见问题及解决方法大全

    本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

    20

    2026.01.13

    PHP 文件上传
    PHP 文件上传

    本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

    21

    2026.01.13

    PHP缓存策略教程大全
    PHP缓存策略教程大全

    本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

    7

    2026.01.13

    jQuery 正则表达式相关教程
    jQuery 正则表达式相关教程

    本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

    4

    2026.01.13

    交互式图表和动态图表教程汇总
    交互式图表和动态图表教程汇总

    本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

    49

    2026.01.13

    nginx配置文件详细教程
    nginx配置文件详细教程

    本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

    11

    2026.01.13

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    PHP课程
    PHP课程

    共137课时 | 8.7万人学习

    JavaScript ES5基础线上课程教学
    JavaScript ES5基础线上课程教学

    共6课时 | 7万人学习

    PHP新手语法线上课程教学
    PHP新手语法线上课程教学

    共13课时 | 0.9万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号