Нужны 2 грамотных SQL запроса (DLE сайт)

S
На сайте с 06.08.2008
Offline
130
838

Помогите составить SQL запросы для решения следующих задач (сайт на движке DLE):

1. Нужно из фуллстори всех новостей перенести все картинки в произвольные поля [xfvalue_img]

Выглядят они примерно так:

[thumb]http://site.ru/uploads/posts/2013-10/1380872106_name.jpg[/thumb]
[thumb]http://site.ru/uploads/posts/2013-11/1486823784_name2.jpg[/thumb]

2. Нужно из фуллстори всех новостей перенести все прикрепленные файлы в произвольные поля [xfvalue_file]

Выглядят они примерно так:

[attachment=123]
[attachment=137]

В БД имя таблицы dle_post, столбцы с именами full_story и xfields.

siv1987
На сайте с 02.04.2009
Offline
427
#1

sql запросами это не сделать. Кроме того у xfields свой формат записи

S
На сайте с 06.08.2008
Offline
130
#2

Кроме как ручками, как это можно сделать?

siv1987
На сайте с 02.04.2009
Offline
427
#3

Скриптом

...............

S
На сайте с 06.08.2008
Offline
130
#4

Кто-то реально помочь может?

siv1987
На сайте с 02.04.2009
Offline
427
#5
spiderbuber:
Кто-то реально помочь может?

Чем?...

......

S
На сайте с 06.08.2008
Offline
130
#6

siv1987, вы уже помогли - спасибо.

Вопрос к знающим: подскажите хотя бы запросы на удаление картинок и прикреплённых файлов из фуллстори. В доп.поля уж ручками буду проставлять.

siv1987
На сайте с 02.04.2009
Offline
427
#7
spiderbuber:
Вопрос к знающим: подскажите хотя бы запросы на удаление картинок и прикреплённых файлов из фуллстори. В доп.поля уж ручками буду проставлять.

sql запросами это не сделать.

Нужна замена по рег выражению, mysql ее не поддерживает, для этого нужна отдельная библиотека udf preg.

siv1987
На сайте с 02.04.2009
Offline
427
#8

Не sql запросы, но все же


<?php

define( 'DATALIFEENGINE', true );
define( 'ROOT_DIR', dirname ( __FILE__ ) );
define( 'ENGINE_DIR', ROOT_DIR . '/engine' );

require_once ENGINE_DIR . '/classes/mysql.php';
require_once ENGINE_DIR . '/data/dbconfig.php';

$res = $db->query('SELECT * FROM '.PREFIX.'_post WHERE full_story LIKE "%[thumb]%" OR full_story LIKE "%[attachment=%"');
while($row = $db->get_row($res))
{
/* delete: [thumb]%image%[/thumb] */
$row['full_story'] = preg_replace('#\[thumb\].+?\[/thumb\]#', '', $row['full_story']);

/* delete: [attachment=%id%] */
$row['full_story'] = preg_replace('#\[attachment=\d+\]#', '', $row['full_story']);

$db->query('UPDATE '.PREFIX.'_post SET full_story="'.$db->safesql($row['full_story']).'" WHERE id='.$row['id']);
}

echo 'Done';

?>

поместить в корне сайта (там где index.php).

S
На сайте с 06.08.2008
Offline
130
#9

siv1987, аттачменты удалились, а картинки нет..

У меня они выводятся как:

[thumb]

Пробовал в запросе менять thumb на center, а также дописать center - не помогло :(

LovelAss
На сайте с 05.06.2009
Offline
96
#10


$row['full_story'] = preg_replace("#<div style=\"text-align:center;\"><!--TBegin.+?<!--TEnd--></div>#", "", $row['full_story']);

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий