Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » MySQL » Удалить из title

Удалить из title


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

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

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

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

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

Спасибо.

Ответил: D0Gmatist


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

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

golden_eagle_god
Юзер

golden_eagle_god - 16 января 2014 11:44 -

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

lisa999
Юзер

lisa999 - 16 января 2014 12:06 -

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

David
Юзер

David - 16 января 2014 13:24 -

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

ravchik
Юзер

ravchik - 16 января 2014 12:31 -

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

David
Юзер

David - 16 января 2014 13:23 -

ravchik,

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

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

D0Gmatist
Юзер

D0Gmatist - 16 января 2014 13:43 -

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

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

David
Юзер

David - 16 января 2014 14:37 -

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

D0Gmatist
Юзер

D0Gmatist - 16 января 2014 14:43 -

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

David
Юзер

David - 16 января 2014 14:47 -

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

D0Gmatist
Юзер

D0Gmatist - 16 января 2014 14:53 -

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

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

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

David
Юзер

David - 16 января 2014 15:02 -

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

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

D0Gmatist
Юзер

D0Gmatist - 16 января 2014 15:04 -

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

David
Юзер

David - 16 января 2014 15:09 -

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

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

ПафНутиЙ - 16 января 2014 15:20 -

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

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

David
Юзер

David - 16 января 2014 15:36 -

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

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

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

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


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

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

 14.09.2013 Revdev  MySQL
наверх