Я делаю кнопку «Мне нравится» для веб-сайта портфолио, над которым я работаю, и я немного озадачен собственным кодом!
У меня есть две таблицы MySQL:
- img_all : содержит все изображения на сервере (каждое изображение имеет 6 INT id)
- логин : содержит учетную записьинформация для всех пользователей сайта (каждый пользователь имеет 6 INT идентификатор, а также VARCHAR столбец с надписью «лайки»)
Способ моей системывыложенКогда пользователь «любит» изображение, я сохраняю его идентификатор в столбце таблицы входа в систему.
UPDATE login SET likes = CONCAT(likes,':$img_id:') WHERE user_key = $user_id;
, а когда он не похож на изображение:
UPDATE login SET likes = REPLACE(likes,':$img_id:','') WHERE user_key = $user_id;
.строки в столбце likes похожи на это:
:456093:475829:203944:789203:
Моя проблема начинается здесь.Я делаю страницу, которая позволяет пользователям просматривать все картинки, которые им понравились (назовем этот файл «Likes.php»).Однако список понравившихся картинок сохраняется в таблице login , а фактическая информация о снимке сохраняется в img_all .
Как тогда взять список изmy login table и переведите его, чтобы выбрать эти изображения из img_all ?Я думал об использовании смеси:
SELECT user_key FROM login WHERE likes LIKE '%:$img_id:%';
и
while();
Я также подумал о запросе SQL.Я знаю, что это не сработает.Однако, надеюсь, это также поможет передать то, что я пытаюсь достичь!
SELECT * FROM
img_all WHERE id =
SELECT likes FROM login
WHERE likes LIKE '%:$img_id:%' AND user_key = '$user_id';
Спасибо за ваше время!Если у вас есть дополнительные вопросы по поводу кода, пожалуйста, дайте мне знать!