评论回复模块制作中,遇到的问题总结

心理历程:
经过一个多星期的制作,终于完成了评论模块的一些功能,包括评论,回复,点赞,收起回复,展开回复,以及emoji表情的插入。
制作的过程往往不是一帆风顺的,在制作过程中,总会遇到许多的问题。遇到问题就解决问题,没有问题时,就按照自己的构思有序进行。就在快要制作完成发布代码的时候,突然发现自己的表情插入不到数据库,经过一系列的百度,修改了数据库的默认字符集还是不行,搞了半天,原来发现是自己连接数据库时的默认字符集,没有修改。最后,表情终于插入到数据库,并且正常显示到页面,我以为万事大吉的时候,突然又发现点击表情之后,回复的评论会覆盖这个表情。然后我就给这个回复的评论添加一个z-index=-1,看似是解决了问题,当提交完代码远程操控的时候,发现回复的评论无法点击,回复评论的标签都相当于没有效果一样。真是这个bug解决了,凭空又出现一个bug,一头雾水不知道怎么回事。最后找了半天才发现,原来是因为我把z-index设置成了-1,导致回复的评论在其他的标签之下。就造成了标签失效,没有效果的假象。终于今天完工啦!

1.emoji表情插入MySQL数据库

出现的问题:emoji表情插入到MySQL数据库显示为空,插入不进去。

问题产生的原因:

  • MySQL支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常,而emoji表情刚好是4字节,导致表情插入不到MySQL数据库;

解决方法:

  • MySQL 5.5.3版本之后新增了utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode;包括Emoji表情。

  • 首先要在创建表的时候就设置默认字符集为utf8mb4; 当然也可以直接修改默认字符集。

  • routeContent TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '路线评论内容',

  • 最重要的一步,我就是卡在这一步,数据库表中列属性默认字符集为utf8mb4后,一定要记得修改连接数据库的默认字符集也要为utf8mb4;
    在这里插入图片描述
    成功解决:
    请添加图片描述

2.z-index的值

切记千万不要设置 z-index=-1;这样的话所有标签都覆盖在它的上面,因为标签默认的z-index=0;

3.JavaScript返回上一页代码

history.go(-2);//返回前两页
window.history.go(-1);  //返回上一页
window.history.back();  //返回上一页

4.PHP二维数组动态录入数据

使用php函数array_push给数组添加值,这里array_push的第一个参数为数组变量名,后面的参数为一维数组

$minAll=Array();
        while($row_allMin=mysql_fetch_array($result_allMin)){
            array_push($minAll,Array($row_allMin['id'],$row_allMin['maxID'],$row_allMin['user1ID'],$row_allMin['user2ID'],$row_allMin['userImg'],$row_allMin['user1Name'],$row_allMin['user2Name'],$row_allMin['routeContent'],$row_allMin['likes'],$row_allMin['messageTime']));
        }

$minAll 可以使用数组下标获取内容。

5.PHP中获取:MySQL利用insert插入一条记录的ID

if(mysql_query($into_comment)){
            $keyId = mysql_insert_id();//获取插入这条数据的ID
            $data='{keyId:'.$keyId.',id:'.$id.',uid:'.$uid.',uname:"'.$uname.'",headimg:"'.$headimg.'",text:"'.$text.'",times:"'.$times.'"}';//组合成json格式数据
            echo json_encode($data);//输出json数据
        
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值