@UnFox

Как получить все чаты, в которых есть юзер?

В бд есть колонка chats
e7OO7QLAp4U.jpg
нужно по id юзера получить все чаты, в которых упоминается его id (т.е в users)
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ответы на вопрос 1
@bkosun
Примерно так:
$users[] = 1; // ID пользователя

$q = "SELECT * FROM table regexp '[[:<:]](" . implode( '|', $users) . ")[[:>:]]";


Но я рекомендую прочитать про нормализацию отношений в базе данных и привести структуру текущей БД к 3 нормальной форме:

users
id, first_name, last_name, ...

chats
id, user_id, name, ...

chats_users
chat_id, user_id


UPD:

$q = "SELECT * FROM table WHERE FIND_IN_SET('1', `users`)"; // 1 - ID пользователя


https://www.w3schools.com/sql/func_mysql_find_in_s...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 22:03
3000 руб./за проект
23 нояб. 2024, в 21:53
30000 руб./за проект
23 нояб. 2024, в 21:49
1000 руб./в час