Umbrella 0 09/09/2008 09:53 AM Привет всем.Изменяю ник-нэйм на другой, он меняется - всё нормально, но в цитатах тех пользователей что меня цитировали старый ник остаётся висеть.Можно ли от этого как-нибудь избавиться? Share this post Link to post
andaril 4 09/10/2008 04:11 PM есть в Mysql функция замены.UPDATE ibf_posts SET post = REPLACE(post,'1слово','2слово'); Share this post Link to post
Yu-val 1 09/10/2008 09:43 PM есть в Mysql функция замены.UPDATE ibf_posts SET post = REPLACE(post,'1слово','2слово');А вот интересно, в том случае, если у пользователя display name и login name отличаются, то в цитатах отображается именно login name. Это можно исправить раз и навсегда? Ну то есть не хочется лезть в базу данных всякий раз, когда будет изменяться display name. Нельзя ли настроить так, чтобы в цитатах показывался актуальный display name? Share this post Link to post
Sannis 2 09/10/2008 11:59 PM А вот интересно, в том случае, если у пользователя display name и login name отличаются, то в цитатах отображается именно login name. Это можно исправить раз и навсегда? Ну то есть не хочется лезть в базу данных всякий раз, когда будет изменяться display name. Нельзя ли настроить так, чтобы в цитатах показывался актуальный display name?Устроить можно всё, вот только будет ли это просто и выгодно? Насколько мне известно, в 2.3 в цитатах используется не логин, а ник, существующий на момент написания сообщения. Проще все исправить несоответствие можно запросом, приведённым выше. Share this post Link to post
Umbrella 0 09/11/2008 07:45 AM Не получилось.Либо команду прописал не там, либо не сработало.. Зашёл в Мускул, в свою БД, далее в SQL вкладку.Ну и конкретно в таблицу posts пробывал. Share this post Link to post
andaril 4 09/11/2008 05:39 PM эм. Ну "не получилось" слишком скудно. Какой был ответ сервера на запрос? Share this post Link to post
Umbrella 0 09/12/2008 03:57 AM Ответ сервера на запрос был "Всё круто" а вот изменений на форуме не произошло. как был в цитатах старый ник.так он и остался там висеть... Я уж и аппач перегружал,та же лада. Share this post Link to post
Fisana 700 09/12/2008 05:31 AM Может просто пересчет и перестройку надо проделать? Share this post Link to post
andaril 4 09/12/2008 07:41 AM цитаты это просто html текст. а что вы писали в запросе? Share this post Link to post
Umbrella 0 09/16/2008 01:19 PM Может просто пересчет и перестройку надо проделать?Делал...Не помогло. а что вы писали в запросе?То, что вы написали выше.. Share this post Link to post
Umbrella 0 09/16/2008 01:48 PM а "слово1" и "слово2" изменяли??? Да =\слово1-старый ник,слово2-новый Не затруднит написать порядок действий? Может не так делаю что?Зашёл в мускул,далее.. Share this post Link to post
desti 10 09/16/2008 08:42 PM (edited) RЕPLACE(post,'1слово','2слово'); - таким запросом можно такого наворотить, особенно если ник короткий и по русски. У меня есть юзер 'орк', я как представлю, что слова типа шторка-створка станут штГоблина-ствГоблина.. Не, корявый запрос. Ищите уникальные комбинации. Например, запустите такой запрос: select count(*) from ibf_posts where post like '%:name=awas%';Посчитает, сколько найдено awas-ов в цитатах. select post from ibf_posts where post like '%:name=awas)%';Запросиком проверили (глазками посмотрели), правильно ли выбрали сообщения. select post from ibf_posts where post not like '%:name=awas)%' and post like '%awas%';Этим дурным запросиком можно посмотреть сколько раз аваза поминали добрым словом, но не в цитатах. Ну это так, для коллекции.Запросы медленные, на больших и загруженных базах запускать с осторожностью или ставить limit 20. И вот только теперь можно делать Rеplace(post,':name=awas)', ':name=wano)')SQL ответит N rows. Если N=0 - где-то ошиблись. Если N>числа из первого запроса в разы - судорожно ищем бэкап. Поставьте денвер, сделайте локальную копию и тренируйтесь. А на живой базе только с отлаженными запросами. Edited September 16, 2008 by desti Share this post Link to post