Задать вопрос

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=""/>
  • Вопрос задан
  • 2611 просмотров
Подписаться 3 Оценить 4 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽