1F星星评分功能
思考:
这个星星评分功能的实现思路和步骤?

从以前的网站中,不雅观察这个效果,得到实现思路:
① 前端效果:
a) 一个完全的星星实在是由两个一半星星图片组成的
rank_1.gif + rank_2.gif = 一个金色星星
rank_3.gif + rank_4.gif = 一个灰色星星
以是,评分值是10分制,那么星星图片的总数便是20个。
b) 星星的图片的存储位置 /templets/a67/images/
c) 随着鼠标的移动,可以看到,鼠标悬放图片的左边全部变成金色星星,右边则变成了灰色星星。
d) 当我们点击星星图片,则上方的评分值和评分人数会发生对应的打算,产生新的结果。【这里很明显就设计到了后台的逻辑操作,也便是更新数据库了。】
②后台步骤:
1. 吸收到前真个点击图片往后的变革,吸收到前端发送过来的参数。【这里我们利用ajax发送到做事器】
2. 做事器会进行一定的打算然后产生新的评分值 和 评分人数,这两个值肯定要存入数据库的【 数据库操作 】
3. 把终极结果见告给前端,前端得到结果往后,及时更新。
步骤:
· 前端实现星星评分效果
a. 打开内容页的模板,然后找到对应的代码,把所有的星星图片换成灰色的。
b. 利用DOM 操作获取到对应的星星图片,实现随着我们鼠标悬放显示对应星星颜色的效果。
代码:模板文件中引入jQuery并测试jQuery是否成功引入。
Pingfen.js代码实现星星颜色的变革:
效果:
· 实现星星评分的后台功能
思考:
1. 前端通过什么办法才能在页面不刷新的情形下把数据发送到后台?ajax
2. 须要哪些数据到后台去?评分值、 当前电影的ID
js代码:
当没有分数传输到后台时实行的js代码:
模板自定义参数的写法:
ajax发送数据到后台:
发送后台哪个页面?这里dedecms推举把第三方扩展的功能全部写在 /plus目录中。以是,我们可以直接创建一个后台的php页面在plus中,吸收 ajax发送的数据。
这个页面我们先创建好,例如我们现在创建一个页面 pingfen.php页面到 /plus目录当中。
接着在这个php页面中, 我们先写一段吸收我们前端发送过来数据。
Pingfen.php
· 剖析dedecms的数据库操作类
1.getOne 获取一条数据用来实行查询语句。
2. ExecuteNoneQuery2
实行一个返回影响记录条数的SQL语句便是我们的update语句。
上边两个方法的运用。
查看ajax的实行结果。
Json 格式数据如何转化 $data = json_encode(‘数组’)
3F把结果输出到前端
在模板中声明要吸收的数据是json格式