PHP запрос

C
На сайте с 14.07.2008
Offline
147
607

Помогите пожалуйста составить запрос к базе данных через phpmyadmin для сайта на Joomla 1.5.

Запрос должен сократить длину URL в случае превышения до 170 знаков ,

знаки удаляются только до ".html"

Иначе сайтмап яндекс не кушает.

_Snake_
На сайте с 06.12.2010
Offline
151
#1
cjseriy:
Помогите пожалуйста составить запрос к базе данных через phpmyadmin для сайта на Joomla 1.5.

Запрос должен сократить длину URL в случае превышения до 170 знаков ,
знаки удаляются только до ".html"
Иначе сайтмап яндекс не кушает.

Во первых вы неправильно назвали тему, то что вы описали называется sql запрос. Если речь идёт о навигации то вообще не понятно, что вы этим добьётесь, битая ссылка не лучшее решение. Плагин/компонент ЧПУ установлен?

skAmZ
На сайте с 04.09.2009
Offline
122
#2


update table set page_url=substring(page_url, 1, instr(page_url, ".html")+length(".html")-1) where length(page_url)>170 and page_url like "%.html%"

P.S. узнать как точно называется таблица и поле будет Вашим домашним заданием...

S0
На сайте с 20.11.2010
Offline
32
#3

skAmZ, онож ничего не изменит. В данном случае, наверное:

update table set page_url=concat(substring(page_url, 1, 165),".html") where length(page_url)>170 and page_url like "%.html"

C
На сайте с 14.07.2008
Offline
147
#4

Да, действительно sql запрос. Что-то я перепутал. Порывшись в базе данных, понял, что нужно на самом деле следующее

нужно в таблице jos_content в поле title

если в title менее Х знаков (пока значение 170) то title остается без изменения

если в title более Х знаков (пока значение 170) то title сокращается

Например, грубо говоря если в title

"В аэропорту тунисского города Монастир к вылету готовится Boeing-767 российской авиакомпании "Трансаэро", который должен вывезти на родину около 200 российских туристов, чей отдых нарушен обострением здесь внутриполитической ситуации и беспорядками."

249 знаков с пробелами

то на выходе title сокращается

до

"В аэропорту тунисского города Монастир к вылету готовится Boeing-767 российской авиакомпании "Трансаэро", который должен вывезти на родину около 200 российских туристов, "

170 знаков с пробелом

skAmZ
На сайте с 04.09.2009
Offline
122
#5


update jos_content set title=substring(title, 1, 170) where length(title)>170
C
На сайте с 14.07.2008
Offline
147
#6

skAmZ, БОЛЬШУЩЕЕ СПАСИБО!!! В точности то, что нужно было. Все сработало)))

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