Похоже, что столбец tags
в вашей базе данных представляет собой некий список, содержащий несколько тегов, например, 'tag1,tag2,tag3'
, поэтому ваше решение и решение Рода Элиаса не сработают при простом сравнении строк.
Вместо этого вы должны взорвать строку в массив и затем искать ее. Установите значение $tagseparator
равным тому, что разделяет теги в БД.
<?php
$value = "e-sports";
$tagseparator = ",";
$test = array();
$take = mysqli_query($conexao,"SELECT * FROM news WHERE game LIKE '%$value%' OR tags LIKE '%$value%' ");
while ($info = mysqli_fetch_array($take)) {
foreach(explode($tagseparator,$info['tags']) as $tag) {
$test[] = $tag;
}
}
if (in_array($value, $test)) {
echo "ok";
} else {
echo "not";
}
?>
Обратите внимание, что если вы хотите проверять построчно, а не во всем наборе результатов, вы просто измените тест на
while ($info = mysqli_fetch_array($take)) {
$test = explode($tagseparator,$info['tags']);
if (in_array($value, $test)) {
echo "ok";
} else {
echo "not";
}
}