Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Какой нужен запрос в БД для изменения значения дополнительного поля новости?

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


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

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

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

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


Комментарии пользователей (4)

dj-avtosh
39

1479 | 390

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
39

1479 | 390

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
39

1479 | 390

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
39

1479 | 390

dj-avtosh - 15 сентября 2015 11:22 - шашлычник

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

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

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

skype: elhan.isaev

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

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