MySQL or PHP? Сложный запрос

Здравствуйте!

В мускуле есть таблица вида:
link | name | text
remont-iphone4s.html | Ремонт iPhone 4s | <img src="" alt="" title="">
remont-nokia-x7.html | Ремонт Nokia X7 | <img src="" alt="" title="">

Каждой картинке надо сгенерировать alt и title, но есть условие: если картинка не является ссылкой на другую страницу в alt&title пишем name текущей страницы, а если является ссылкой(то есть перед <a src="link">), то в alt&title пишем name той страницы на, которую ссылаемся.

Встал вопрос реально ли это на чистом sql сделать? Или прийдется обращаться к php например.

link - это только ссылка на страницу

Ссылки на изображения генерируются при создании поста, автоматически и хранится все это в поле text в виде:
<img src="http://.............../uploads/post/2014/xxx.jpg" alt="" title=""/>
  • Вопрос задан
  • 2608 просмотров
Решения вопроса 1
alexdob
@alexdob
SELECT
 t1.link,
 t1.name,
 t1.txt,
 if(t1.txt REGEXP "^<a(.*)><img(.*)/></a>$",
  REPLACE(t1.txt, 'alt=""', CONCAT('alt="', (SELECT name FROM test_toster_102543 WHERE link=t1.link),'"')),
  REPLACE(t1.txt, 'alt=""', CONCAT('alt="', t1.name,'"'))
 ) as txt_rgexp
FROM
 test_toster_102543 t1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Лучше это делать уже после того как отработала выборка, то есть на php.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы