PHP & amp; MySQL Wildcards? или я так думаю

Я не уверен, если это вообще подстановочный знак или как вообще построить этот код. В основном то, что я пытаюсь достичь, это выбрать из user_ranks таблица, каждая строка имеет уникальный идентификатор и в users таблица, есть столбец с именем ranks и это будет иметь каждый user_rank идентификатор разделен | персонажи.

Так, например, в users стол, у меня есть rank из |2|4|14|13| — у каждого удостоверения есть id в user_ranks,

Вот что у меня так далеко, что, очевидно, так неправильно.

$usersquery = $db->query("SELECT rank FROM users WHERE username = '" . $username ."'");

while ($users = $usersquery->fetch_assoc()) {
$ranksquery = $db->query(
"SELECT * FROM user_ranks WHERE id LIKE '%[" . $users['rank'] . "]%'");
while ($ranks = $ranksquery->fetch_assoc()) {
return $ranks['id'];
}
}

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать, это было немного сложно объяснить, большое спасибо за любую помощь, которую я могу получить!

0

Решение

Используйте PHP explode а также trim чтобы получить отдельные идентификаторы от $users['rank']:

$rank_ids = explode('|', trim($users['rank'], '|'));

Затем используйте этот SQL:

$sql = "SELECT * FROM user_ranks WHERE id IN (" . implode(", ", $rank_ids) . ")";
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]