![]() |
![]() |
#1 |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
![]()
В базе у меня есть таблица с полями: title и message
В message есть записи вывода картинки: [ATTACH type="full"]12345[/ATTACH] Мне нужно в эту запись массово добавить alt со значением из поля title, что-бы получить такой формат картинки: [ATTACH alt="title + фото" type="full"]12345[/ATTACH] |
![]() |
![]() |
![]() |
#2 |
Позитив =)
Академик
Регистрация: 21.06.2020
Адрес: Санкт-Петербург
Сообщений: 4,412
Сказал(а) спасибо: 25,091
Получил(а) "Спасибо": 13,926
Нарушения: 0/0 (0)
Репутация: 1412767
|
![]()
Это вам надо смотреть как bbcode преобразуется...
А массовая замена в поле mysql это так: PHP код:
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
![]()
ziliboba0213, это при простом replace
а мне нужно использовать значение из поля title Я почитал доки, пишут что в таких случаях нужно использовать concat, но MySQL еще не изучал |
![]() |
![]() |
![]() |
#4 |
Позитив =)
Академик
Регистрация: 21.06.2020
Адрес: Санкт-Петербург
Сообщений: 4,412
Сказал(а) спасибо: 25,091
Получил(а) "Спасибо": 13,926
Нарушения: 0/0 (0)
Репутация: 1412767
|
![]()
Так title в той же таблице? А понял, не в той... Может через php проще будет перебрать тогда?
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
![]() |
![]() |
![]() |
![]() |
#6 |
Позитив =)
Академик
Регистрация: 21.06.2020
Адрес: Санкт-Петербург
Сообщений: 4,412
Сказал(а) спасибо: 25,091
Получил(а) "Спасибо": 13,926
Нарушения: 0/0 (0)
Репутация: 1412767
|
![]() |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
![]()
MySQL позволяет использовать значения другого поля.
Нашел в инете, но нифига не понял Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Junior Member
Студент
Регистрация: 12.07.2020
Сообщений: 14
Сказал(а) спасибо: 4
Получил(а) "Спасибо": 4
Нарушения: 0/0 (0)
Репутация: 5595
|
![]()
UPDATE table SET message = REPLACE (message, '[ATTACH', CONCAT('[ATTACH alt="', title, ' + фото"'));
|
![]() |
![]() |
2 пользователя(ей) сказали cпасибо: |
![]() |
#9 |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
![]()
дани мапов, Спасибо, проверил - работает !
У меня еще есть картинки в других таблицах, но там уже наверное через PHP скрипт позже сделаю. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
![]()
В этом запросе столкнулся с некоторой проблемой.
UPDATE table SET message = REPLACE (message, '[ATTACH', CONCAT('[ATTACH alt="', title, ' + фото"')); Поле title может содержать кавычки Если например в title будет такое: Форум "SEO" То результат replacе будет такой: alt="Форум "SEO" + фото" Что естественно приводит неправильному формированию alt у картинок. Как-бы вырезать эти кавычки ? |
![]() |
![]() |