Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Какой нужен запрос в БД для изменения значения дополнительного поля новости?

Какой нужен запрос в БД для изменения значения дополнительного поля новости?


     12.09.2015    Общие вопросы по PHP, Модули, MySQL    1475

вопрос
Здравствуйте
Сразу три вопроса.
1. Уже пол дня методом тыка перебираю варианты, не выходит.
Мне нужно записать в БД значение конкретного дополнительного поля из модуля
Тут есть что-то похожее, но мне не подходит...
2. Аналогично, но взять из базы значение этого поля.
3. Изменить дату добавления новости на текущую

Буду благодарен за советы

Ответа пока нет


4 комментария

dj-avtosh
шашлычник

dj-avtosh - 14 сентября 2015 10:04 -

Что бы НЕ распространялось на поля с пустым значением:

UPDATE dle_post SET xfields = 
(

SELECT new_string FROM ( SELECT

@xfield_find_str := 'test_date', # xfields name

@xfield_new_str := `date`, # replace xfields to

@parse_query := SUBSTRING_INDEX( SUBSTRING_INDEX( xfields , CONCAT( @xfield_find_str, '|' ), -1 ), '||', 1 ),

IF (
@parse_query = '',
xfields,
REPLACE( xfields, CONCAT( CONCAT( @xfield_find_str, '|' ), @parse_query ), CONCAT( @xfield_find_str, '|', @xfield_new_str ) )
) new_string

FROM dle_post WHERE id = 5 ) new_xfields

) WHERE id = 5

skype: elhan.isaev

dj-avtosh
шашлычник

dj-avtosh - 14 сентября 2015 10:28 -

Что бы распространялось на поля с пустым значением:

UPDATE dle_post SET xfields = 
(

SELECT new_string FROM ( SELECT

@xfield_find_str := 'test_date', # xfields name

@xfield_new_str := `date`, # replace xfields to

@parse_query := SUBSTRING_INDEX( SUBSTRING_INDEX( xfields , CONCAT( @xfield_find_str, '|' ), -1 ), '||', 1 ),

REPLACE( xfields, CONCAT( CONCAT( @xfield_find_str, '|' ), @parse_query ), CONCAT( @xfield_find_str, '|', @xfield_new_str ) ) new_string

FROM dle_post WHERE id = 5 ) new_xfields

) WHERE id = 5

skype: elhan.isaev

dj-avtosh
шашлычник

dj-avtosh - 14 сентября 2015 10:30 -

Результат выполнения:

было

test_date|2015-02-02 00:35:09||test_date_2|2015-06-05 00:00:09


стало

test_date|2015-09-05 00:38:11||test_date_2|2015-06-05 00:00:09

skype: elhan.isaev

dj-avtosh
шашлычник

dj-avtosh - 15 сентября 2015 11:22 -

Перечитал вопрос, вам надо из доп поля писать в БД, не советую этого делать, т.к. в доп поле на уровне mySQL почти нереально фильтровать, что это именно дата вписана.

Обратное выше.

Для записи даты новости в доп. поле.

skype: elhan.isaev

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх