В базе данных есть 5 строк, с полем description(описание). В каждой из строк в поле description есть хэштег "#istanbul".
В 1-ой строчке - "#istanbul",
Во 2-ой строчке - "#IstanbulNight",
В 3-ей строчке - "#Istanbul",
В 4-ой строчке - "Hello and #WelcomeToIstanbul",
В 5-ой строчке - "My first travel to #Istanbul",
Мне необходимо вывести все строки, у которых в поле description есть в хэштегэ слово "istanbul". Одинаковые значение не должны повторяться, например:
Должны выводиться только 1, 2, 4 строка, так как 3 и 5 идентичны 1-ой не учитывая регистр. Необходимо убрать только те сроки, в которых один единственный хэштег "#istanbul"
Мой код:
$GetQUERY = "#istanbul";
SELECT * FROM `".PREFIX."_photos` WHERE description LIKE'%{$GetQUERY}%' ORDER by `uploaded_date` ASC
Хотел использовать SELECT DISTINCT. Не помогает. Подскажите как решить данную проблему
P.S. я новичок, строго не судить
Вот так отберутся строки, в которых есть тег, отсутствующий в предыдущих
$arr = [
"#istanbul",
"#IstanbulNight",
"#Istanbul",
"Hello and #WelcomeToIstanbul. You are in #istanbul now",
"My first travel to #Istanbul",];
// сюда собираем все найденные теги
$prev = [];
$r = [];
foreach($arr as $x) {
if(preg_match_all('~#\w+~', $x, $match)) {
// если надо не зависеть от регистра
$match[0] = array_map('strtolower', $match[0]);
// если все уже были, пойдем дальше
if( ! ($d = array_diff($match[0], $prev))) {
continue;
}
// добавим новые, обнаруженные в строке
array_push($prev, ...$d);
}
$r[] = $x;
}
print_r($r); // [ '#istanbul', '#IstanbulNight', 'Hello and #WelcomeToIstanbul. You are in #istanbul now']
$query = "SELECT * FROM `".PREFIX."_photos` WHERE description LIKE'%{$GetQUERY}%' ORDER by `uploaded_date` ASC";
$result = $conn1->query($query);
while($row = mysqli_fetch_assoc($result))
{
$data[]=$row;
}
$data=array("0"=>"#IstanbulNight",
"1"=>"#Istanbul",
"2"=>"Hello and #WelcomeToIstanbul",
"3"=>"My first travel to #Istanbul",
"4"=>"My first travel to #Istanbul, and #GotoIstanbul",
"5"=>"#Istanbul");
foreach ($data as $key => $value) {
# code...
$pos=strpos($value,"#Ist");
if($pos===false){
$big[]=$value;
}else{
$nig[]=$value;
}
}
print_r($nig);
$result = array_unique($nig);
print_r($result);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как правильно организовать добавление файла PDF в админ панели сайта? Где лучше хранить эти данные — в БД или папке ресурса?
Возможно ли в php подобную строку "125/10" превратить в 125 без использования функции, explode?
Вроде все правильно но все равно вылазит ошибка
Мне необходимо отправить 500 запросов с round-up = 300 n-ое количество раз, при этом после завершения round-up необходимо выставить задержку в 1 минутуВозможно...