Php mysql похожие теги случайные сообщения
Во-первых, извините за мой английский. Я хочу отправить случайное сообщение, но есть некоторые условия.
У меня есть два стола. Пользователи(ИД, название, теги) сообщений(идентификатор отправителя, поступило, сообщение)
Столбец тегов (книга, фильм, путешествие) максимум 10 тегов. Данные хранятся таким образом.
Когда активный пользователь отправляет сообщение. Перешлите сообщение пользователю X. Правила : 1. X пользователь: пользователь, который никогда не получал сообщение и теги x пользователя должны быть наиболее похожи на отправителя, и x пользователь должен никогда раньше не получать сообщение от активного пользователя.
Надеюсь, я смогу сказать. Спасибо
Что я уже пробовал:
$id = $_SESSION["id"]; $Activeuserstags = explode(",", $_SESSION["tags"]); $query=$db->prepare("select id,tags from users where id!=? and id not in (select receivedid from messages)"); $query->execute(array($id)); $user = $query->fetchAll(PDO::FETCH_ASSOC); if($user){ foreach($user as $row){ $randomusertags=explode(",", $row["tags"]); $result = array_intersect($Activeuserstags, $randomusertags); if(count($result)>0){ // there is similar tags }else{ // there is no similar tags } }