![]() |
|
|
#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,421
Сказал(а) спасибо: 25,258
Получил(а) "Спасибо": 14,008
Нарушения: 0/0 (0)
Репутация: 1520774
|
Это вам надо смотреть как 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,421
Сказал(а) спасибо: 25,258
Получил(а) "Спасибо": 14,008
Нарушения: 0/0 (0)
Репутация: 1520774
|
Так title в той же таблице? А понял, не в той... Может через php проще будет перебрать тогда?
|
|
|
|
|
|
#5 |
|
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
|
|
|
|
|
|
#6 |
|
Позитив =)
Академик
Регистрация: 21.06.2020
Адрес: Санкт-Петербург
Сообщений: 4,421
Сказал(а) спасибо: 25,258
Получил(а) "Спасибо": 14,008
Нарушения: 0/0 (0)
Репутация: 1520774
|
|
|
|
|
|
|
#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 у картинок. Как-бы вырезать эти кавычки ? |
|
|
|