Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » MySQL » Удалить из title

Удалить из title


     title, MySQL    Все вопросы » MySQL    3216

вопрос
Здравствуйте. Как можно с помощью MySQL удалить из Title текст из всех новостей? CMS DLE 10.

Например у меня сейчас title такой:

Новость - текст

Мне нужно удалить вот это - текст

Спасибо.

Ответил: D0Gmatist


Сколько я написал .. три параметра
1) поиск по таблице пост -> титле + подсчитать результат для цикла
2) запустить цикл
3) вытягивать по ид из каждого поста титле
4) изменить титле
5) вернуть в БД

15 комментариев

golden_eagle_god
Юзер

golden_eagle_god - -

Это делается не через MySQL если вспомню напишу как это убрать

lisa999
Юзер

lisa999 - -

Я тоже таким вопросом задавался. Как вариант мне было предложено дамп базы отредактировать в текстовом редакторе и заного залить.

David
Юзер

David - -

Это не очень хороший вариант, так как данные в базе данных могут повредится.

ravchik
Юзер

ravchik - -

я правильно понял, что текст введен в title вручную при добавлении новостей?
Если так, то попробуйте сделать автозамену в админке.

David
Юзер

David - -

ravchik,

Автозамены на title нету. Думаю это можно сделать через MySQL запрос.

Где же Sander?) Он точно сможет ответить на этот вопрос.

D0Gmatist
Юзер

D0Gmatist - -

SELECT запрос-поиск по слову в титле + подсчитать все результаты
посадить в цикл

for или foreach {
SELECT запрос по ид полученного из запроса по поиску титле
вытягиваем титле = вырезаем то что нужно (можно применить функцию ... хотя тут она нафиг не нужно .. так чисто для удобства)
UPDATE поле с новым титле в тот же ид
}

David
Юзер

David - -

D0Gmatist, Это всё нужно выполнять в SQL или нужно писать скрипт?

D0Gmatist
Юзер

D0Gmatist - -

David, это нужно написать маленький php подключением к БД и с данной функцией

David
Юзер

David - -

D0Gmatist, раз уж столько написали. Не могли бы Вы написать пример этого небольшого скрипта для нас. Если конечно у Вас есть 5 минут времени.

D0Gmatist
Юзер

D0Gmatist - -

Сколько я написал .. три параметра
1) поиск по таблице пост -> титле + подсчитать результат для цикла
2) запустить цикл
3) вытягивать по ид из каждого поста титле
4) изменить титле
5) вернуть в БД

вы задали вопрос
Цитата: David
Здравствуйте. Как можно с помощью MySQL удалить из Title текст из всех новостей?
Я вам дал ответ как это сделать 100%

но за Вас делать ни кто не будет .. если вам надо что бы написали такой скрипт то милости просим .. в стол заказов

David
Юзер

David - -

D0Gmatist, если Вы можете ответить только как это сделать в теории, то есть практически не можете написать как сделать, то и не нужно. В теории я и так знаю все эти пункты. Речь о готовом запросе.

1 SQL запросом никак невозможно сделать?

D0Gmatist
Юзер

D0Gmatist - -

Всё написано выше .. если непонятно ... прочтите несколько раз .. может зима морозит ... вам виднее

David
Юзер

David - -

***Комментарий удален***

ПафНутиЙ
Админ

ПафНутиЙ - -

Не нужно переходить на грубости.
Вам описали принцип и логику действий для достижения желаемого результата. Примеров реализации кода в DLE вагон (достаточно открыть любой значимый php файл).
Если не понятен ответ - в стол заказов.

Каков вопрос - таков и ответ. Просто помните об этом.

David
Юзер

David - -

ПафНутиЙ, вот объясните этому товарищу. А я ему уже всё сказал как надо.

А по вопросу я нашел ответ. Вот кому нужно, без всяких там скриптов и прочего.

Выполните SQL запрос.

UPDATE dle_post
SET title=REPLACE(title,'Старый текст','Новый текст')


И соответственно, если Вы хотите чтобы старый текст удалился, вместо "Новый текст" ничего не пишите.

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

 14.09.2013 Revdev  MySQL
наверх