[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создать запрос в базу из массива
sx000
Array
(
[0] => test1
[2] => test2
[5] => test3
)

есть массив, нужно создать строку из него
LIKE=%test1% AND LIKE=%test2% AND LIKE=%test3%
Вопрос в следующем: Как мне это сделать?
Я начал думать в сторону array_values ... но думаю есть более лучшее решение :)
Проблема в том что значений может быть два:

Array
(
[0] => test1
[2] => test2
)

а может и 4 ...



Спустя 18 минут, 35 секунд (17.10.2011 - 23:07) Игорь_Vasinsky написал(а):
чёт не понятно... а в чём трудность?

Спустя 45 секунд (17.10.2011 - 23:08) dadli написал(а):
$a = array("test1","test2");
$a = array_values($a);

foreach ($a as $key => $val) {
$vall = str_replace($val," AND LIKE '%".$val."%' ",$val);
array_splice($a,$key,1,$vall);
}
$str = implode(" ",$a);
$str = substr($str,4);

echo $str;


да кстати, ви написали LIKE=%test2%, но мне кажется вам нужен LIKE '%test2%' не так?

Спустя 3 минуты, 30 секунд (17.10.2011 - 23:11) sx000 написал(а):
ну вот я думал может есть какое то решение без цикла smile.gif Пересмотрел все функции php (массивы) - не нашел может думал чего то упустил в этом мире.
На счет LIKE да вы правы

Спустя 32 минуты, 11 секунд (17.10.2011 - 23:44) dadli написал(а):
ну такои функцю я не знаю smile.gif

Спустя 1 минута, 40 секунд (17.10.2011 - 23:45) imbalance_hero написал(а):
array[] = '';
implode (' AND ',$array);

Спустя 3 часа, 2 минуты, 15 секунд (18.10.2011 - 02:48) Winston написал(а):
В чем проблема ?
$arr = array('test1', 'test2', 'test3');
echo 'LIKE=%' . implode('% AND LIKE=%', $arr) . '%';

Спустя 9 часов, 38 минут, 8 секунд (18.10.2011 - 12:26) sx000 написал(а):
в том что я спать хотел smile.gif, наступил момент отупения в 4 часа утра, сейчас она уже не проблема ибо вчера решил. Спасибо что помогли!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.