foreach( $xfarr as $ono => &$value ) {
if( substr_count($value, '|') ) $value = explode('|', $value);
$ono = $db->safesql($ono);
if( is_array($value) ) {
if( $ono == $find_sort ) {
$order_by[] = Poiskxf($ono, $value, $db, $xfarr);
} else {
if( $ono != $direction_sort ) {
foreach( $value as $index => &$val ) {
$url_poisk[$ono][] = $val;
$val = $db->safesql($val);
$poiskarr[$ono][] = "SUBSTRING_INDEX(SUBSTRING_INDEX(xfields, '{$ono}|', -1), '||', 1) LIKE '%{$val}%'";
}
$where[] = '(' . implode(' AND ', $poiskarr[$ono]) . ')';
}
}
}
}
Есть доп.поле в котором можно при публикации выбирать несколько его значений списком select
Выше код, ajax поиска который не рассчитан под сортировку новостей по несколько значений. Ато когда я выбираю в сортировке одно значение, он выводит новости, но как только добавляю второе значение в select multiple он вообще ничего не выводит. Потому что он просто новое значение дублирует, вот что показывает консоль:
kniga=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&kniga=%D0%9F%D0%B8%D1%82%D0%B5%D1%80%D0%B1%D1%83%D1%80%D0%
Как правильно отредактировать и вставить explode чтобы он значения через " ; " добавлял а не дублировал?