Intereting Posts
Регулярное выражение для удаления не буквенно-цифровых символов из строк UTF8 Вызов неопределенного Builder :: save () при сохранении полиморфных отношений использовать скобки в имени флажка при использовании php и javascript? Как показать ответ ajax в сетке продукта? Jquery отправляет массив ключей / значений в PHP Я вызываю session_start (), скрипт зависает, и ничего не происходит Файлы cookie, не работающие на разных страницах PHP / TCPDF: ошибка шаблона? На странице редактирования выберите выбранную радиокнопку AJAX / PHP – Как получить опубликованные данные для загрузки в модальный на той же странице Сеансы CodeIgniter против сеансов PHP Регулярное выражение для соответствия пробелу или концу строки php: Вставить специальные символы в базу данных myadmin MYSQL Query – получать сообщения текущего пользователя, а пользователь – следующие сообщения Пользовательское сообщение о заполненном статусе уведомления о статусе заказа только для роли пользователя

Создание функции Like как php mysql ajax

Хорошо, я искал и очень много разбирался в этой теме, но ничего не удовлетворял.

Я хочу отслеживать, кому понравилось, а не просто добавить +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-phpmysqljquery . Но у меня проблемы с их объединением.

Это то, что я пытаюсь сделать:

  1. подсчитать текущее количество понравившихся
  2. проверьте, понравилось ли пользователю
  3. дать пользователю возможность понравиться (или delica, если раньше понравилось)

с ajax и like.php

Может кто-нибудь помочь мне с этим, я был бы очень благодарен!