I've searched for this on stackoverflow and while I've found something along these lines, I haven't found anything that really helps me, so I'll ask the question myself.
So I'm trying to implement a like button for images on my site. But I'm having a little trouble figuring out how it goes.
So far, I have this on the SQLI side of things :
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`)
        );
Where id is the id of the like,
image_id is the id of the image being liked,
liker_username is the username of the user clicking the like button,
liked_unliked is whether or not that user has liked the image (1 for liked, 0 for unliked [to make sure users only vote once]).
I have the image_id already stored in a photos table.
I've been told to put a unique index on liker_username and image_id in order to prevent users from liking an image multiple times, but I just want a second opinion.
So...is what I have so far even correct? Like I said, I'm trying to get it so that users can click the like button and like the image, but only once. Any help is appreciated. Thanks
 
    