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.
Ответ написан
Ваш ответ на вопрос

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

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