gpt4 book ai didi

php - 创建 Like 函数 php mysql ajax

转载 作者:行者123 更新时间:2023-11-29 12:22:53 25 4
gpt4 key购买 nike

好吧,我一直在搜索并找到很多关于这个主题的信息,但没有什么令人满意的。

我想跟踪谁喜欢了什么,而不仅仅是向表格添加 +1。

我有三个表:帖子、评论和点赞。

目前的表格设计如下

CREATE TABLE IF NOT EXISTS `likes` (
`like_id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`post_id_fk` INT(11),
`comment_id_fk` INT(11),
`uid_fk` int(11) NOT NULL,
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`ip` varchar(39) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0.0.0.0',
FOREIGN KEY (uid_fk) REFERENCES users(uid),
FOREIGN KEY (post_id_fk) REFERENCES post(post_id),
FOREIGN KEY (comment_id_fk) REFERENCES comments(comments_id),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;

正如你所看到的,我有三个不同的外键,uid_fk 代表用户 uid,这样我就可以知道谁喜欢什么。现在问题来了,一个外键指向 post_id,另一个外键指向 comments_id。

如果外键不存在,Mysql 将不接受外键。如果我想“喜欢”一条评论,由于 post_id_fk 的外键,它不会被喜欢。

如何解决数据库困惑问题?

以及 AJAX 点赞/取消点赞问题:

我找到了这个jQuery : Changing class of button with AJAX call当我搜索时,它看起来很简单而且非常漂亮。我也关注了这个http://pluscss.com/tutorials/ajax-like-script-using-php-mysql-jquery教程。但我在组合它们时遇到了问题。

这就是我正在尝试做的事情:

  1. 计算当前的点赞数
  2. 检查用户之前是否喜欢过它
  3. 让用户可以选择喜欢(如果以前喜欢过,则可以选择不喜欢)

使用 ajax 和 like.php

有人可以帮我解决这个问题吗,我将非常感激!

最佳答案

最好将表分开。创建 post_likes 表和 comments_likes 表。这样,您不仅可以摆脱现有的问题,而且结构更加解耦并且更可重用。

关于php - 创建 Like 函数 php mysql ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28769110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com