Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Проблемы с установкой или работой phpBB 3.1.x? Получите помощь здесь!
С 1 июля 2018 года phpBB Group прекращает поддержку phpBB версии 3.1.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.1 до 1 января 2019 года.
Подробнее: Окончание поддержки phpBB 3.1.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 15 лет 4 месяца
Откуда: Украина! Харьков
Благодарил (а): 68 раз
Поблагодарили: 240 раз

Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение Alecto »

На сайте имеется опрос 5-ти летней длительности и его результаты потерять никак нельзя.
Но, пользователя просят добавить новые пункты и уточнить существующие.
Понятно, что сделать это без потери результатов штатным редактирование не получится.
Коррекцию существующих пунктов через базу выполнить вполне можно.
Но, как добавить (через базу вручную? либо любым другим способом) новые пункты к существующему опросу, не потеряв имеющиеся результаты голосования?

Моральный аспект этого вопроса не интересует, только техническая реализация.
Очень нужно, заранее спасибо.
romeo_piter
phpBB 2.0.22
Сообщения: 1369
Стаж: 16 лет
Благодарил (а): 163 раза
Поблагодарили: 20 раз

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение romeo_piter »

Актуальная тема.
Вообще никогда не понимал логику разрабов, что надо обнулять запрос, если вариант добавился.
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 15 лет 4 месяца
Откуда: Украина! Харьков
Благодарил (а): 68 раз
Поблагодарили: 240 раз

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение Alecto »

за уши притянутая, логика конечно есть: изменил варианты - начинай сначала.
но, есть случаи, когда "сначала" никак нельзя, а изменить опрос очень нужно и таких моментов лично в моей практике 90%.
судя по тому, что гуру молчат - очень сложный вопрос обозначен в теме.
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 15 лет 4 месяца
Откуда: Украина! Харьков
Благодарил (а): 68 раз
Поблагодарили: 240 раз

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение Alecto »

пробовал добавить в таблицу новые записи.
в принципе работает, но если поменять порядок вариантов ответа - то получается ерунда.
Аватара пользователя
KEMnEP
phpBB 2.0.18
Сообщения: 1167
Стаж: 10 лет 1 месяц
Благодарил (а): 44 раза
Поблагодарили: 293 раза

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение KEMnEP »

Где-то ещё строчку в пхпмайадмине пропустили. Где именно нескажу. Но логика правильная. От компа далеко, да и лень такие мелочи проверять, что врятли мне пригодятся.
Последний раз редактировалось KEMnEP 23.10.2015 20:26, всего редактировалось 2 раза.
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 11 лет
Благодарил (а): 39 раз
Поблагодарили: 792 раза

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение LavIgor »

Alecto писал(а): судя по тому, что гуру молчат - очень сложный вопрос обозначен в теме.
Днём имею доступ лишь к телефону, такие вопросы могу проверять только на ПК.
Alecto писал(а): Но, как добавить (через базу вручную? либо любым другим способом) новые пункты к существующему опросу, не потеряв имеющиеся результаты голосования?
Вроде бы было расширение, которое позволяло это делать, хотя в описании Advanced Polls этой информации я не нашёл.

Через базу новые пункты добавляются в таблицу phpbb_poll_options (префикс заменить на свой).
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 15 лет 4 месяца
Откуда: Украина! Харьков
Благодарил (а): 68 раз
Поблагодарили: 240 раз

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение Alecto »

LavIgor писал(а): Вроде бы было расширение, которое позволяло это делать, хотя в описании Advanced Polls этой информации я не нашёл.
нет, оно этого не делает, да и последний апдейт сыпет страницу ошибками. я удалил этот экст.
LavIgor писал(а): Через базу новые пункты добавляются в таблицу
Alecto писал(а): пробовал добавить в таблицу новые записи.
в принципе работает
Alecto писал(а): но если поменять порядок вариантов ответа - то получается ерунда
с этим проблема...
poll_option_id - сортировка выполняется по этому полю, к нему же привязываются все данные варианта опроса.
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 11 лет
Благодарил (а): 39 раз
Поблагодарили: 792 раза

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение LavIgor »

Alecto писал(а): к нему же привязываются все данные варианта опроса
Т.е. ты пробовал менять ID в том числе у вариантов ответа, но трюк не сработал?
В чём ерунда?
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 15 лет 4 месяца
Откуда: Украина! Харьков
Благодарил (а): 68 раз
Поблагодарили: 240 раз

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение Alecto »

LavIgor писал(а): ID в том числе у вариантов ответа, но трюк не сработал?
список вариантов пересортировался, голоса остались на старых позициях.
т.е не там, где их изначально ставили.
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 11 лет
Благодарил (а): 39 раз
Поблагодарили: 792 раза

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение LavIgor »

Alecto писал(а): голоса остались на старых позициях
Т.е. после правок двух таблиц (в том числе phpbb_poll_votes) голоса всё равно привязаны к старым id?
Похоже на кэш либо отсутствие правок для голосов.
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 15 лет 4 месяца
Откуда: Украина! Харьков
Благодарил (а): 68 раз
Поблагодарили: 240 раз

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение Alecto »

LavIgor писал(а): в том числе phpbb_poll_votes
я не правил эту таблицу, поскольку вручную сделать правильно даже в рамках одного опроса (у меня 16 пунктов) - это практически нереально.
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 11 лет
Благодарил (а): 39 раз
Поблагодарили: 792 раза

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение LavIgor »

Alecto, так там же число запросов невелико будет.
Чтобы поменять ID пункта (пишу с телефона навскидку):

Код: Выделить всё

UPDATE phpbb_poll_votes
SET poll_option_id = 25
WHERE poll_option_id = 15
где 25 - новое значение, а 15 - текущее.

Если сдвинуть пункты вниз, чтобы вставить новый в середину:

Код: Выделить всё

UPDATE phpbb_poll_votes
SET poll_option_id = poll_option_id + 1
WHERE poll_option_id >= 15
где 15 - номер пункта, куда хочется добавить новый вариант.

Отправлено спустя 50 секунд:
P.S. Не забудь заархивировать базу перед экспериментами.
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 15 лет 4 месяца
Откуда: Украина! Харьков
Благодарил (а): 68 раз
Поблагодарили: 240 раз

Re: Как добавить новые пункты к опросу, не потеряв значения существующих вариантов

Сообщение Alecto »

LavIgor писал(а): P.S. Не забудь заархивировать базу перед экспериментами.
да, этим и спасался.
LavIgor писал(а): Если сдвинуть пункты вниз, чтобы вставить новый в середину:
если бы только вниз или добавить )) по хорошему нужна полная перестановка всех пунктов )))

спасибо.

Вернуться в «Поддержка phpBB 3.1.x»