|
 35.3 Кб |
|
| Я тут развлекаюсь тем, что приделываю к лайтфоруму фичу по созданию опросов.
Получается довольно пикантно. См.скриншот
Хочется обойтись минимумом штрихов - поэтому выходит причудливо.
Никому не интересно? | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 14:42)
| | у вас 4 ответа дают 132% :) | |
|
|
|
|
|
|
|
для: AlexSol
(15.06.2009 в 14:57)
| | Правильно. Потому что отвечало три человека.
один выбрал мюсли, другой водку, третий клизму с водкой.
Водка набрала 66% голосов.
У меня два вида опросов: зависимые( т.е. радиобаттоны) и независимые (т.е. чекбоксы)
Но подсчет выбора ведется для каждого варианта опосредованно. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 14:42)
| | Опрос анонимный? А то очень интересно про клизму... ))) | |
|
|
|
|
|
|
|
для: Valick
(15.06.2009 в 15:03)
| | > Опрос анонимный?
Нет. Опрос жестко персонифициорованный. Так что накрутки невозможны в принципе.
Запечатленное на скриншоте состояние в БД выглядит так:
#
# Table structure for table liteforum_poll_answers
#
DROP TABLE IF EXISTS `liteforum_poll_answers`;
CREATE TABLE `liteforum_poll_answers` (
`id_author` int(11) NOT NULL,
`id_poll` int(11) NOT NULL,
`answer` int(11) NOT NULL,
PRIMARY KEY (`id_poll`,`id_author`),
UNIQUE KEY `autpol` (`id_author`,`id_poll`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
#
# Dumping data for table liteforum_poll_answers
#
INSERT INTO `liteforum_poll_answers` VALUES (1,1,1);
INSERT INTO `liteforum_poll_answers` VALUES (2,1,2);
INSERT INTO `liteforum_poll_answers` VALUES (3,1,6);
|
| |
|
|
|
|
|
|
|
для: Valick
(15.06.2009 в 15:03)
| | >А то очень интересно про клизму... )))
То есть водка на завтрак у Вас идет стандартным рационом? =) | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 15:26)
| | Ну не шампанское же)) сами знаете почему ;)
Вообще после BIGINT (после того как утёр слезу) подумал, что день обещает быть весёлым))
Водку не пил уже полгода наверное (я не в завязке, просто неохота... в детстве наверное перепил, теперь равнодушен), пиво вкуснее) | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 14:42)
| | Довольно интересно, если бы у самого стоял ЛайтФорум с удовольствием унал как вы сделали его (ну или где это надо писать). Вот только с тем, что получается 132% надо бы что нить сделать, а то как-то страно выходит :) | |
|
|
|
|
|
|
|
для: DEM
(15.06.2009 в 15:12)
| | Лайтфорум скачивается прям отсюда. Что я вчера и сделал. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 14:42)
| | Кодом поделитесь? Было бы инетресно проводить опросы. | |
|
|
|
|
|
|
|
для: cheops
(15.06.2009 в 16:31)
| | Опросы вещь нужная, но совершенно непонятная система в процентах. В голове укладывается только то, что в итоге должно получаться 100%, а не как на скриншоте. Да и всплывающее окно - как-то немного старомодно )) Но если в любом виде, к этому форуму прибавится голосование - то это гуд, уж лишним, точно не будет! | |
|
|
|
|
|
|
|
для: Diplex
(15.06.2009 в 17:10)
| | Для типичного независимого опроса 100% будет выполняться само собой. | |
|
|
|
|
|
автор: Великолепно! Спасибо большое за это великолепное, чудесное, замечательное, в конце-концов, дополнение к форуму! Мне очень-очень понравилось! Спасибо еще раз! Как мне вас отблагодарить? Замечательно. Потрясно. Слов нет - одни эмоции! Это же просто ГЕНИАЛЬН (15.06.2009 в 21:14) |
|
|
для: Trianon
(15.06.2009 в 17:15)
| | . | |
|
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 21:16)
| | Не, номер поста был другой: id_post=383428 Верно? | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 21:16)
| | Мне показалось - или Вы его поправили?)) | |
|
|
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 17:15)
| | сегодня обнаружил, что в таблице authors отсутствуют данные о дате-времени регистрации посетителя.
Полагал, что на эту информацию можно опираться для ограничения участия в опросах .
Собственно, можно и без нее, но БД жалко... нагрузка вырастет.
Всё же таблица постов - немаленькая.. да и архивируется она постоянно. | |
|
|
|
|
 17.1 Кб |
|
|
для: Trianon
(16.06.2009 в 13:53)
| | Сейчас прикидываю конструкцию для реализации рейтингового (преференциального) опроса.
Идет тяжело, потому что трудно определиться с тем, каким сделать элемент формы.
Если кто что посоветует дельное - буду признателен. | |
|
|
|
|
|
|
|
для: Trianon
(21.02.2011 в 21:14)
| | Я код не смотрела, но если сделать так:
<input type="checkbox" name="vote[$id_answer]" $checked>
<input type="button" name="p" value="+" onClick="enlarge();">
<input type="button" name="m" value="-" onClick="reduce();">
<div id="number"></div>
<input type="hidden" name="number" value="$id_answer_значение из div`a">
|
Возле каждого ответа - чекбокс. Возле чекбокса - две кнопки: + и -.
в div id="number" выводится число - рейтинг, который хочет установить пользователь этому ответу, по умолчанию можно поставить 1.
При нажатии на "+", число увеличивается, при "-" - уменьшается.
Само число передается в скрытом поле формы вместе с id ответа.
PS. Вначале думала сделать выпадающий список с рейтингом возле каждого чекбокса. | |
|
|
|
|
|
|
|
для: Лена
(22.02.2011 в 13:16)
| | так а в коде этого пока нет.
Я тоже так думал, но не с hidden-полем, а обычным текстовым.
Потому есть люди, которые JS на этом форуме отключают по соображениям безопасности.
А при отключенном JS форма становится мертвой - кнопки-то не работают.
. | |
|
|
|
|
|
|
|
для: Trianon
(22.02.2011 в 13:27)
| | >Потому есть люди, которые JS на этом форуме отключают по соображениям безопасности.
>А при отключенном JS форма становится мертвой - кнопки-то не работают.
Ну тогда как бы нужно выбирать из двух зол лучшее: или текстовое поле, или выпадающий список.
При текстовом возникает проблема проверить, чтобы вводили то, что нужно, при выпадающем списке - проблема: список будет километровым, если диапазон выбора большой, например, если предложат что-то оценить по 100% шкале - все сто цифр, получается, будут в списке.
Все ж происходит на клиенте, и пока пользователь не нажмет кнопку(заполнит поле), мы о его "рейтинговых предпочтениях" не узнаем. Выбор здесь ограничен - типов полей у формы не так много. | |
|
|
|
|
|
|
|
для: Лена
(22.02.2011 в 13:54)
| | >Ну тогда как бы нужно выбирать из двух зол лучшее: или текстовое поле, или выпадающий список.
Была даже идея реализовать оба варианта.
>При текстовом возникает проблема проверить, чтобы вводили то, что нужно, при выпадающем списке - проблема: список будет километровым, если диапазон выбора большой, например, если предложат что-то оценить по 100% шкале - все сто цифр, получается, будут в списке.
Тут еще одно но. болььших цифр всяко не будет - их просто негде хранить.
Пока что в предполагается ограничиться 8-9 вариантами и 10-бальной системой оценок.
Большее в 32 бита не засунуть.
>Все ж происходит на клиенте, и пока пользователь не нажмет кнопку(заполнит поле), мы о его "рейтинговых предпочтениях" не узнаем. Выбор здесь ограничен - типов полей у формы не так много.
конечно | |
|
|
|
|
|
|
|
для: Trianon
(22.02.2011 в 14:11)
| | А почему надо засовывать в 32 бита? | |
|
|
|
|
|
|
|
для: Лена
(22.02.2011 в 23:10)
| | а во сколько надо? | |
|
|
|
|
|
|
|
для: Лена
(22.02.2011 в 23:10)
| | Можно в 64, кстати, MySQL в типах ENUM и SET то же самое делает, берет целый тип и хранит отдельные значения в отдельных битах. | |
|
|
|
|
|
|
|
для: cheops
(22.02.2011 в 23:54)
| | SET - да. ENUM - врядли.
Типа, соответствующего BIGINT, в php нет. Значит - преобразования и потери времени.
Потенциальная длина таблицы тоже вынуждала экономить.
Полагаете, стоит сделать BIGINT? | |
|
|
|
|
|
|
|
для: Trianon
(23.02.2011 в 00:20)
| | Думаю 32-х позиций более чем достаточно
>SET - да. ENUM - врядли.
>An enumeration can have a maximum of 65,535 elements.
Да нет, похоже все-таки INT (причем 16-битная положительная часть), а строковые имена в заголовке таблицы хранятся. | |
|
|
|
|
|
|
|
для: cheops
(23.02.2011 в 00:27)
| | я к тому, что в хранении enum нет ничего поразрядного. Обычное число лежит. | |
|
|
|
|
|
|
|
для: Trianon
(23.02.2011 в 00:29)
| | А ну в этом смысле конечно. | |
|
|
|
|
|
|
|
для: Trianon
(21.02.2011 в 21:14)
| | Только не понятно кто ему даст полномочие например за меня голосовать | |
|
|
|
|
 32.6 Кб |
|
|
для: Trianon
(21.02.2011 в 21:14)
| | версия с рейтинговыми и оценочными опросами. | |
|
|
|
|
 10.3 Кб |
|
|
для: Trianon
(28.02.2011 в 00:09)
| | скриншот | |
|
|
|