Перейти к контенту
  • 0

Пропали темы.Ошибку нашел но не знаю как .


ilz

Вопрос

Версия у меня 1.1.2 и у меня часто появляется ошибка с таблицой ibf_topics.

После каждой ошибки я восстанавливал ее через админ панель и выяснил что после каждого восстановления пропадает одна тема с форума. Уже в сумме пропало где-то 15 тем у меня и одни из низ ыбли большие почти по 2000 сообщений. Так вот я взял и скачал базу себе на комп от форума и открыл и увидел что все сообщения тех тем остались целые и лежат в базе , но на форуме они не показываются. Потом мне сказали, что если такая ошибка происходит то лучше восстанавливать через phpmyadmin и я так и сделал и тема не пропала. Но как мне вернуть те темы которые пропали ? Вернее они не пропали , их просто форум не показывает. Я открыл таблице ibf_topics и увидел список всех тем ,но тех которые пропали там нету, А КаК МнЕ занести Эти темы туда?? Помогите.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

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

 

Если затрудняешься пусти меня в базу я посмотрю что к чему у тебя там. Стучись в аську завтра около 12 дня

Ссылка на комментарий
Поделиться на других сайтах

  • 0
я сделал вывод один , что нету этих тем в таблице ibf_topics и там есть "Запуск запроса" но что писать в запуск запроса я незнаю
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Значит, так. Было у тебя много тем. Темы пропали, но посты остались. В таблице ibf_posts куча постов, которые относятся к разным темам. Для каждой из этих тем нужно будет проделать описанные ниже операции.

 

1. Надо узнать id пропавшей темы. Находим в phpMyAdmin'e пост, который есть в базе, но не показывается на форуме. Желательно искать вручную, но можно попробовать и запросом.

SELECT post, topic_id FROM ibf_posts WHERE post LIKE '%слова_из_поста%'

post LIKE 'блаблабла' - значит "найти такие посты, в которых содержится блаблабла"

Результат запроса - пост, который пропал, + ID темы. ID темы записываем на бумажку!

Можно попробовать искать по автору:

SELECT post, topic_id FROM ibf_posts WHERE author_name = 'Имя_Автора'

 

2. Надо посчитать число постов в теме. ID темы мы уже записали - достаём бумажку, где оно записано!

SELECT COUNT(author_id) FROM ibf_posts WHERE topic_id = 'ID_темы'

Отнимаем от результата единицу и записываем полученное число на бумажку!

 

3. Нужно узнать, кто открыл тему. Делаем запрос

SELECT author_id, post_date, author_name FROM ibf_posts WHERE topic_id = 'ID_темы' ORDER BY post_date ASC

Нам нужна самая верхняя строчка результата. Записываем оттуда author_id, post_date, author_name.

 

4. Нужно узнать ID форума, куда поместить тему. Это проще самому вспомнить. Заходишь на борду, заходишь в тот форум, где была тема. В адресной строке браузера видишь что-то вроде SF=X (вместо Х и будет наше искомое число!). Если у тебя 1.2 или 1.3, то видишь там showforum=X - это одно и то же. Записываешь на бумажку.

 

5. Финальный запрос.

INSERT INTO ibf_topics (tid, title, description, state, posts, starter_id, start_date, starter_name, poll_state, views, forum_id, approved, author_mode) VALUES ('ID_темы_из_шага_1', 'Название темы - от балды!', 'Описание темы - тоже от балды!', 'open', 'Число_постов_из_шага_2', 'author_id_из_шага_3', 'post_date_из_шага_3', 'author_name_из_шага_3', 0, 'Число_просмотров_темы-нужно придумать от балды', 'ID_форума_из шага_4', 1, 1)

Где написано "от балды" - значит, любое придумай и подставь. Никакие кавычки из запроса не выкидывать! Затирать настоящими значениями только то, что внутри кавычек.

 

6. Когда тема появится, зайти в неё, запостить что-нибудь. Потом свой пост удалить. Вот всё и нормализовалось. :D

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.