Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL: модифицирование цифренно-буквенного индификатора видео / 9 сообщений из 9, страница 1 из 1
25.01.2017, 11:20
    #39390876
lickpath777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: модифицирование цифренно-буквенного индификатора видео
Здравствуйте! Помогите решить задачу:
Переношу видеогалерею на новый компонент. Имеется столбец таблицы remote_id с индификатором видео, с разных видеохостингов: youtube (11 символов), dailymotion ( 6 символов), metacafe ( 28 символов). Количество символов постоянно для каждого видеохостинга.

Задача, сделать из цифренно-буквенных индикаторов, сделать код встраивания по видео - сервисам, пример 1:
В таблице remote_id, имеем -9wNQHXhOFs (11 символов, youtube), нужно из всех символов в 11 знаков, столбца remote_id, сделать коды вида:
[i]<iframe width="640" height="385" src=" http://www.youtube.com/embed/
...
Рейтинг: 0 / 0
25.01.2017, 13:37
    #39391080
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: модифицирование цифренно-буквенного индификатора видео
lickpath777,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT
CASE
WHEN lenght(remote_id)=6 THEN CONCAT('<код вставки dailymotion src="//www.dailymotion.com/embed/video/', remote_id, '" </код вставки')
WHEN lenght(remote_id)=11 THEN CONCAT('<iframe width="640" height="385" src="http://www.youtube.com/embed/', remote_id, '?rel=0&modestbranding=1" allowtransparency="true" webkitallowfullscreen="true" mozallowfullscreen="true" scrolling="no" allowfullscreen="true"></iframe>')
WHEN lenght(remote_id)=28 THEN CONCAT(..., remote_id, ...)
ELSE remote_id
END
FROM mytable
...
Рейтинг: 0 / 0
25.01.2017, 14:47
    #39391184
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: модифицирование цифренно-буквенного индификатора видео
Хотя я бы создал таблицу соответствия длина-шаблон, и
Код: sql
1.
2.
3.
SELECT CONCAT(t2.prefix, t1.remote_id, t2.postfix)
FROM mytable t1, patterns t2
WHERE LENGTH(t1.remote_id) = t2.length
...
Рейтинг: 0 / 0
25.01.2017, 15:39
    #39391257
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: модифицирование цифренно-буквенного индификатора видео
AkinaХотя я бы создал таблицу соответствия длина-шаблон,Я только за!
Но лучше ориентироваться не по длине, которая может совпасть у каких-то сервисов, а явно проставлять идентификатор сервиса в исходной таблице.
...
Рейтинг: 0 / 0
26.01.2017, 10:00
    #39391810
lickpath777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: модифицирование цифренно-буквенного индификатора видео
Akina,

Код рабочий, - спасибо.
Есть нюанс, - не знаю как перезаписать полученное в тот же столбец remote_id (см. скрин)

Сейчас, мой код выглядит:
SELECT
CASE
WHEN LENGTH(remote_id)=6 THEN CONCAT('<div class="video-wrapper"><div class="video-container"><iframe width="640" height="385" src="//www.dailymotion.com/embed/video/', remote_id, '&logo=0" allowtransparency="true" webkitallowfullscreen="true" mozallowfullscreen="true" scrolling="no" allowfullscreen="true" ></iframe></div></div>')
WHEN LENGTH(remote_id)=11 THEN CONCAT('<div class="video-wrapper"><div class="video-container"><iframe width="640" height="385" src="http://www.youtube.com/embed/', remote_id, '?rel=0&modestbranding=1" allowtransparency="true" webkitallowfullscreen="true" mozallowfullscreen="true" scrolling="no" allowfullscreen="true"></iframe></div></div>')
WHEN LENGTH(remote_id)=8 THEN CONCAT('<iframe width="640" height="385" src="https://player.vimeo.com/video/', remote_id, '" allowtransparency="true" webkitallowfullscreen="true" mozallowfullscreen="true" scrolling="no" allowfullscreen="true" ></iframe></div></div>')
WHEN LENGTH(remote_id)=28 THEN CONCAT('код', remote_id, 'код')
END
FROM jos_jomtube_videos
...
Рейтинг: 0 / 0
26.01.2017, 10:26
    #39391828
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: модифицирование цифренно-буквенного индификатора видео
lickpath777Akina,

Код рабочий, - спасибо.Это не мне надо спасибу говорить.

lickpath777Есть нюанс, - не знаю как перезаписать полученное в тот же столбец remote_id Изменение данных выполняет UPDATE-запрос.

lickpath777(см. скрин)Фотографии не требуются, мы по ним не лечим. К тому же проблемы GIU - это не проблемы MySQL.

lickpath777код выглядитКод следует обрамлять тегом SRC. И форматировать. И использовать кнопку "Просмотр", чтобы убедиться, что результат достаточно эстетичен.
...
Рейтинг: 0 / 0
26.01.2017, 23:06
    #39392560
lickpath777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: модифицирование цифренно-буквенного индификатора видео
miksoft,
Спасибо за код, запрос выполняется.
Но ни как не могу сохранить полученное, в ту же таблицу. Или записывается последующими строками в столбце (ниже), или вообще не перезаписывается. Пробовал сохранить отдельной таблицей, но потом снова всё записывается последующими строками в столбце (ниже).

В общем, предлагаю скинуть таблицу, коды встраивания и заплатить за помощь на wm. Думаю вам будет не сложно )!
...
Рейтинг: 0 / 0
26.01.2017, 23:09
    #39392561
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: модифицирование цифренно-буквенного индификатора видео
lickpath777,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
UPDATE mytable
SET remote_id =
CASE
WHEN lenght(remote_id)=6 THEN CONCAT('<код вставки dailymotion src="//www.dailymotion.com/embed/video/', remote_id, '" </код вставки')
WHEN lenght(remote_id)=11 THEN CONCAT('<iframe width="640" height="385" src="http://www.youtube.com/embed/', remote_id, '?rel=0&modestbranding=1" allowtransparency="true" webkitallowfullscreen="true" mozallowfullscreen="true" scrolling="no" allowfullscreen="true"></iframe>')
WHEN lenght(remote_id)=28 THEN CONCAT(..., remote_id, ...)
ELSE remote_id
END
...
Рейтинг: 0 / 0
27.01.2017, 10:00
    #39392722
lickpath777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: модифицирование цифренно-буквенного индификатора видео
miksoft,

СУПЕР!!!

С первой попытки, решили задачу!!!
Вся моя проблема, изначально была в: SET remote_id, правильно SET remote_id =
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL: модифицирование цифренно-буквенного индификатора видео / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]