Хорошо, я искал и очень много разбирался в этой теме, но ничего не удовлетворял.
Я хочу отслеживать, кому понравилось, а не просто добавить +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 как / delike:
Я нашел этот jQuery: изменение класса кнопки с вызовом AJAX, когда я искал, и выглядит симплером и очень приятным. И я также следую этому учебнику http://pluscss.com/tutorials/ajax-like-script-using-php–mysql–jquery . Но у меня проблемы с их объединением.
Это то, что я пытаюсь сделать:
с ajax и like.php
Может кто-нибудь помочь мне с этим, я был бы очень благодарен!