点赞设计

需求:对某一个试题 或者 某一个话题 或者 某一个新闻 点赞 ,每个人只能点赞一次,第一次点赞的时候 增加1 再一次点赞的时候 就取消点赞

设计:

  1.用户点赞 必须要登陆才可以,这样就可以获取该用户的uid;

  2.设计数据表

    被点赞的记录表 ,以试题为例:

    question 表

    tid  --------题目id

    question -----问题题目

    answer -------问题答案

    --------------------------------------------

    zan  表

    id 主键

    tid  被赞的tid

    uid  点赞的用户

    is_delete  点赞状态  (0点赞,1 取消;默认为0)

  3.代码

  

 1     /**
 2      * @desc 点赞方法
 3      * @author wzh
 4      * @version 1.0
 5      * @date 2017-02-18
 6      * @return int
 7      */
 8     public function setZan($uid = 0,$tid = 0){
 9         $uid = (int) $uid;
10         $tid = (int) $tid;
11         if($uid == 0 || $tid == 0){
12             return false;
13         }
14
15         //先查看该用户是否已经点赞,如果没有点赞 则增加一条记录,如果已经点赞,查看点赞的状态is_delete,如果该值为0 则设置为1,如果为1则设置为0;
16         $sql = "select id,is_delete from zan where uid = ‘$uid‘ and tid = ‘$tid‘ ";
17         $zanInfo = $db -> getRow($sql);
18         if(empty($zanInfo)){
19             $insert = array(‘uid‘ => $uid,‘tid‘ => $tid);
20             $res = $db -> insert($insert);
21
22         }else{
23             if($zanInfo[‘is_delete‘] == 1){
24                 $update = array(‘is_delete‘ => 0);
25             }else{
26                 $update = array(‘is_delete‘ => 1);
27             }
28             $condition = array(‘id‘ => $zanInfo[‘id‘]);
29             $res = $db -> update(‘zan‘,$update,$condition);
30         }
31         if(!$res){
32             return false;
33         }
34
35         $count = $db -> getCount("select count(*) from zan where tid = $tid and is_delete = 0 ");
36         return $count;
37
38
39     }

  4.总结:以上仅仅为解决思路,并不完整;可以再次基础上做扩展;详细交流请qq 646943067 备注 为 博客园

时间: 2024-12-29 10:32:11

点赞设计的相关文章

关于点赞行为设计···

自建新闻从无到有.当然,评论.点赞也是一步步来的. 关于点赞的设计,也是会挖过坑,也把坑给填了. 需求是这样子的:点赞有[好球,警告]两个选项,点了可以取消,取消之后可以再点,也可以直接从好球直接切换到警告,同时好球和警告数也要跟着更新 采用数据库:mongodb,关于字段设计,一开始我是这样子的: support : Number , 用来记录总的好球数 warning: Number 用来记录总的警告 supportList: Array 用来存有点赞行为的用户id,大概就是 [{uid:'

用了这几条单片机控制板的设计原则,老板都为你点赞!

单片机控制板在设计过程中,如果你能够遵循下面的几个原则,老板一定为你点赞! (1)在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器.晶振.CPU的时钟输入端都易产生噪声,在放置的时候应把它们靠近些.对于那些易产生噪声的器件.小电流电路.大电流电路开关电路等,应尽量使其远离单片机的逻辑控制电路和存储电路(ROM.RAM),如果可能的话,可以将这些电路另外制成电路板,这样有利于抗干扰,提高电路工作的可靠性. (2)尽量在关键元件,如ROM.RAM等芯片旁边安装去耦电容.实际

Android App的设计架构:MVC,MVP,MVVM与架构经验谈

来源: Android App的设计架构:MVC,MVP,MVVM与架构经验谈 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构如何设计: 我的App需要应用这些设计架构吗? MVC,MVP等架构讲的是什么?区别是什么? 本文就来带你分析一下这几个架构的特性,优缺点,以及App架构设计中应该注意的问题. 1.架构设计的目的 通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合.这样做的好处是使得程序在开发的过程中,开发人员

点餐系统---------软件工程课程设计

一.功能需求分析 1.1实现用户登陆功能 可以实现对用户进行增删改查操作,可实现用户的登陆注销功能,并且针对不同的用户有不同管理权限,当用户登陆时,根据不同的用户身份(管理员.厨房工作人员.服务员)可以进入不同的主界面. 1.2菜单管理功能 可以对餐厅里面的菜品进行添加.下线.修改.查看功能. 1.3点餐功能 可以根据餐厅的菜单下单.并显示相应的信息,包括菜单名字.图片.价格等等. 1.4公告发布 可以实时地将最新的公告及历史公告展示,还可以查询历史公告的详细信息 1.5前台 可以实现显示所有餐

SSR———团队作业:小型论坛的设计与实践

小型论坛的设计与实践 这次团队作业,我们设计的是小型论坛的设计与实现,作为团队中的一员,我主要负责对用户进行需求调研与对用户体验的过程拍摄总结,力求我们的项目在力所能及的范围内更加完美 视频:http://202.199.28.1/files/A2010000004208DC/files.cnblogs.com/files/mxxl/%E8%AE%BA%E5%9D%9B_x264.zip(因为视频一开始比较大,所以压缩之后像素有点低,见谅) 需求调研: 首先,因为在我们的校园生活中学生和老师缺少

2016知名设计素材网站—室内设计师必看

随着经济全球化的发展,物质的极大丰富带给人们琳琅满目的商品和 更多的选择,怎么样的搭配更协调,更高雅,更能彰显居者的品味,成为一门艺术,于是诞生了软装饰行业.而要成为一名优秀软装设计师并不是一蹴而就的,需要经过长时间的历练.以下五色光软装设计培训机构小编为大家整理了一些经常逛得设计网站,以便大家能够顺利找到学习资源.希望能帮助到大家,记得点赞哦. 国外 GIGA循绿 全球室内设计  美国室内设计中文网 关于布艺的Tapis chis 床上用品Yves Delorme 法国的Maisons 和Ma

产品设计中要考虑6大类优先级

设计中对优先级的把握就是要让我们能够将真正重要的功能/内容/元素放到突出的位置,以最多的界面资源去展示它们,而将次要的部分弱化,隐藏起来,在此的部分索性砍掉.这是产品在设计中最容易忽略的地方,也是初级产品在优化和设计用户界面时,容易犯的错误.至于和怎么排放按钮,整理功能的方法.我之前有篇文章已经写了. 删除.组织.隐藏.转移,四个方法做好产品的"简单化设计" .那我们在设计中要考虑哪些优先级呢?共分为以下6类. 1.用户优先级 我们都知道用户按照操作经验维度可以分为:主流用户群体/随意

mysql 商品表的设计思路(面向对象建表:类与对象)

学习地址 http://www.jtthink.com/course/play/352 主表:prop_main 不仔细多说,正常业务都会涉及到并且考虑的相对周全.常用字段[商品id][商品名称][商品简介][商品类别][添加时间][点击数/点赞数/购买数/差评数等] 指的一提的是,[点击数/点赞数/购买数/差评数等]是通过定时更新的.但读取的时候为了速度和效率,作为冗余字段放在商品表中是很科学的. 这里重点关注[商品类别]的设计 商品类型表:prop_class 这个也很常见,每个商品都必须从

软件设计文档及数据流向图

1 数据流向图:张涛 033  2 软件设计结构图:马冀伟 034 3 软件概要设计详细设计文档:王树才  030 一:数据流向图 二:软件设计结构图 三: 软件概要设计详细设计文档 项目名称:  基于服务器的购物系统 1 数据层: 产生的数据有:物品的基本信息,包括名称, 数量,价格,类别,说明,图片:订单信息,包括订单提交时间,订单详情,订单失效时间:用户信息,包括用户名,登录密码,登录时间: 用户上传自己数据:物品名称,数量,价格,类别,说明,图片,用户手机号. 2 整体结构 1 用户登录