Я создаю приложение, подобное Instagram . У меня есть таблица photos
со столбцами user_id
, показывающая, какой пользователь user_id
понравилась фотография. Например, если user_id
1 и 5, как photo_id
51, тогда photo_id
51 будет отображаться 1 5
. Как видно, user_id
s разделяются пробелами. Теперь, как Instagram, я хочу, чтобы показать, какое имя пользователя нравится конкретной фотографии. Для этого мне нужно получить все user_id
из столбца user_id
отдельно. Может ли кто-нибудь помочь мне в том, как это сделать, или предложить альтернативный способ?
Вы приближаетесь к этому неправильно. Вы почти наверняка не хотите хранить несколько фрагментов данных в одном поле. Вы хотите иметь что-то вроде этого:
Table: User - id - blah blah Table: Photo - id - blah blah Table: Like - user_id - photo_id
Это позволит вам писать очень гибкие запросы, в том числе то, что вы описали:
SELECT u.id FROM User AS u JOIN Like AS li ON li.user_id = u.id WHERE li.photo_id = $current_photo_id
Это тема, известная как нормализация базы данных . Пожалуйста, прочитайте больше об этом, если вы хотите, чтобы ваше приложение преуспело.