вопрос
Всем доброго времени суток. Подскажите пожалуйста знающие как удалить дублирующий текст в доп поле?
Есть доп поле перекрестные ссылки: modeli
В нем значения такого вида: George Clooney, Quentin Tarantino, Salma Hayek, Quentin Tarantino, Salma Hayek
Как создать sql запрос на удаление дублирующего содержимого, в данном примере повторяется: Quentin Tarantino, Salma Hayek.
Заранее спасибо за помощи.
Есть доп поле перекрестные ссылки: modeli
В нем значения такого вида: George Clooney, Quentin Tarantino, Salma Hayek, Quentin Tarantino, Salma Hayek
Как создать sql запрос на удаление дублирующего содержимого, в данном примере повторяется: Quentin Tarantino, Salma Hayek.
Заранее спасибо за помощи.
Запросом не знаю. Вариант такой. Создаем доп поле с латинским названием dubble_del, тип переключатель да/нет. По умолчанию нет.
Открываем engine/modules/show.full.php и ищем в нем код
Ниже вставляем код
Берем с гугла любую программу которая может пробежаться по всем страницам сайта, эмулируя посещение страницы, прогоняем ею. В конце делаем пересохранение публикаций в админке и удаляем вставленный код с созданным доп полем.
Открываем engine/modules/show.full.php и ищем в нем код
$tpl->set( '{full-story}', $row['full_story'] );
Ниже вставляем код
if ( $xfieldsdata['dubble_del'] == 0 ) {
$xfieldz = xfieldsdataload( $row['xfields'] );
$modeli = explode(", ", $xfieldz['modeli']);
$clean_modeli = array_unique($modeli);
$xfieldz['modeli'] = implode(", ", $clean_modeli);
$xfieldz['dubble_del'] = 1;
foreach($xfieldz as $key => &$value)
$arr_field[] = $key . "|" . str_replace('|', '|', $value);
$xfieldz = implode("||", $arr_field);
unset($arr_field);
$xfieldz = $db->safesql($xfieldz);
$db->query( "UPDATE " . PREFIX . "_post SET xfields='$xfieldz' WHERE id='{$row['id']}'");
unset($xfieldz);
}
Берем с гугла любую программу которая может пробежаться по всем страницам сайта, эмулируя посещение страницы, прогоняем ею. В конце делаем пересохранение публикаций в админке и удаляем вставленный код с созданным доп полем.