Голосовать за / нравится система для сообщений, использующих MySQL

Я искал это в stackru, и хотя я нашел что-то в этом духе, я не нашел ничего, что действительно помогло бы мне, поэтому я сам задам вопрос.

Поэтому я пытаюсь внедрить кнопку "Мне нравится" для изображений на моем сайте. Но у меня есть небольшая проблема, чтобы понять, как это происходит.

До сих пор у меня есть это на стороне SQLI вещей:

CREATE TABLE if not exists `likes` (
         `id` int(11) NOT NULL AUTO_INCREMENT,
         `image_id` varchar(300) NOT NULL,
         `liker_username` varchar(50) NOT NULL,
          `liked_unliked` enum('0','1') NOT NULL, DEFAULT '0'
           PRIMARY KEY (`id`)
        );

куда id идентификатор подобного,image_id идентификатор понравившегося изображения,liker_username имя пользователя, нажимающего кнопку "Мне нравится",liked_unliked является ли этот пользователь понравившимся изображением (1 для избранного, 0 для не понравившегося [чтобы пользователи голосовали только один раз)).

У меня есть image_id, уже сохраненный в photos Таблица.

Мне сказали, чтобы поставить уникальный индекс на liker_username а также image_id чтобы пользователи не любили изображение несколько раз, но я просто хочу получить второе мнение.

Итак... то, что я до сих пор даже правильно? Как я уже сказал, я пытаюсь сделать так, чтобы пользователи могли нажать кнопку "Нравится" и понравиться изображение, но только один раз. Любая помощь приветствуется. Спасибо

1 ответ

Решение

Похоже, вы на правильном пути.

Как сказал другой пользователь, вы можете рассмотреть возможность users таблицу с пользовательскими данными и идентификаторами, и поместите внешний ключ liker_user_id в ваш likes Таблица. Ваш идентификатор изображения также может быть внешним ключом, а изображения хранятся в images Таблица.

Вы можете рассмотреть возможность предоставления анонимных голосов, по одному на каждый i-адрес, добавление ip-адреса в БД, если пользователь не вошел в систему. Вы можете получить ip-адрес пользователя с помощью:

$_SERVER['REMOTE_ADDR'];
Другие вопросы по тегам