• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Как добавить в таблицу несколько значений при быстром редактировании новости с использованием Select

Primichev

Создатель
Регистрация
23 Сен 2014
Сообщения
11
Реакции
2
Здравствуйте, друзья, очень надеюсь на вашу помощь. Суть проблемы в следующем:
По своей сути я адаптировал модуль Mws Multi Xfields под DLE 11.0.
Проблема заключается в том, что при быстром редактировании полей Multi Select, когда выбираешь несколько значений в базу данных пишется только одно. При этом, при полном редактировании все в порядке и при добавлении новости все в порядке - все выбранные значения заносятся в базу разделенные знаком - ";".
По всей видимости проблема в том, что при быстром редактировании используется отдельный файл - ajax/editnews.php, который использует xfields не так как это используется при полном редактировании
Правил код ajax/editnews.php, без проблем добился того, что при быстром редактировании сейчас все доп.поля выводятся как надо, но при выборе нескольких значений и сохранении в таблицу вносится только одно значение Select из нескольких выбранных, вот код:
Код:
} elseif ($value[3] == "checkbox") {
$optional = ( $value[5] == "1" ) ? $lang['xf_not_notig'] : $lang['xf_notig'];
$xfbuffer .= "<div class=\"xfieldsrow\"><div class=\"xfieldscolleft\">{$value[1]}:</div><div class=\"xfieldscolright\"><select name=\"xfield[{$fieldname}][]\" id=\"xf_{$fieldname}[]\" data-placeholder=\"Выберите {$value[1]} ...\" class=\"wide\" onchange=\"onCategoryChange(this)\" style=\"width:350px;height:140px;\" multiple=\"multiple\"><option value=\"\"></option>";
if ( ! isset( $fieldvalue ) ) $fieldvalue = array();
$fieldvalue = explode(";", str_replace( array('&amp;','&quot;'), array('&','"'), $fieldvalue ));
$items = explode( "\r\n", $value[4] );
foreach ( explode("\r\n", $value[4]) as $index => $value ) {
$value = str_replace("'", "&#039;", $value);
$xfbuffer .= "<option name=\"xfield[{$fieldname}][]\" value=\"{$value}\"" . (in_array($value, $fieldvalue) ? " selected" : "") . ">{$value}</option>\r\n";
}

$xfbuffer .= "</select></div></div>";
Я в PHP слабо соображаю, ориентируюсь, но недостаточно, куда хоть рыть? :conf:
 
Назад
Сверху