Забыли пароль?
Запросите новый здесь.

Автор темы: Alex
ID темы: 3060
Информация:
Тема содержит 2 сообщения, была просмотрена 264 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Народное творчество
 Распечатать тему
Опрос с несколькими вопросами в одном
Alex
Кто нибудь делал опрос с несколькими вопросами и допустим по 3 варианта ответа на каждый вопрос

примерно вот так
https://golos.ope...polls/197/
 
Web
Vveb--ws
это интересный вопрос.
у меня готового плагина нет.

лично я бы сделал 1 таблицу для добавления к опросной группе опросов из тем форумов с переходом в ветку. а сами опросы делать в темах.

то есть выводишь список тем форумов с опросами и галками выбираешь какие темы включать в даный опрос.

на ozozhe.ru/forum/ работает

forum_pol_panel
Скачать исходники  Код

require LOCALE.LOCALESET."forum_pol_panel.php";


// if (iMEMBER) {

$result = dbquery(
   "SELECT t.*, f.*, f2.forum_name AS forum_cat_name
   FROM ".DB_THREADS." t
   LEFT JOIN ".DB_FORUMS." f ON t.forum_id=f.forum_id
   LEFT JOIN ".DB_FORUMS." f2 ON f.forum_cat=f2.forum_id
   WHERE ".groupaccess('f.forum_access')." AND t.thread_poll=1 ORDER BY RAND() LIMIT 1"
);


if (dbrows($result)) {

openside($locale['votes']);

   $fdata = dbarray($result);
   $fp_nowpoll = $fdata['thread_id'];
   //if (!checkgroup($fdata['forum_access'])) { echo 'Error? o_O'; }
   
      if (iMEMBER) {
         $presult = dbquery(
            "SELECT tfp.*, tfv.forum_vote_user_id FROM ".DB_FORUM_POLLS." tfp
            LEFT JOIN ".DB_FORUM_POLL_VOTERS." tfv
            ON tfp.thread_id=tfv.thread_id AND forum_vote_user_id='".$userdata['user_id']."'
            WHERE tfp.thread_id='".$fp_nowpoll."'"
         );

      } else {
         $presult = dbquery(
            "SELECT tfp.* FROM ".DB_FORUM_POLLS." tfp
            WHERE tfp.thread_id='".$fp_nowpoll."'"
         );
      }

      if (dbrows($presult)) {
         $pdata = dbarray($presult); $i = 1;
         if (iMEMBER) {
            echo "<form name='voteform' method='post' action='".FORUM."viewthread.php?forum_id=".$fdata['forum_id']."&amp;thread_id=".$fp_nowpoll."'>\n";
         }

         echo "<table cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n";
         echo "<td align='center'><strong>".$pdata['forum_poll_title']."</strong></td>\n</tr>\n<tr>\n<td>\n";
         echo "<table align='center' cellpadding='0' cellspacing='0'>\n";
         
         $presult = dbquery("SELECT * FROM ".DB_FORUM_POLL_OPTIONS." WHERE thread_id='".$fp_nowpoll."' ORDER BY forum_poll_option_id ASC");
         $poll_options = dbrows($presult);
         while ($pvdata = dbarray($presult)) {

      // БЫЛО if ((iMEMBER && isset($pdata['forum_vote_user_id']) || (!$fdata['forum_vote'] || !checkgroup($fdata['forum_vote'])))) {
            if (isset($pdata['forum_vote_user_id']) || (!$fdata['forum_vote'] || !checkgroup($fdata['forum_vote']))) {

               $option_votes = ($pdata['forum_poll_votes'] ? number_format(100 / $pdata['forum_poll_votes'] * $pvdata['forum_poll_option_votes']) : 0);

                    echo "<tr><td colspan='2'><img src='".get_image("pollbar")."' alt='".$pvdata['forum_poll_option_text']."' height='12' width='".(200 / 100 * $option_votes)."' class='poll' /><br>\n";

                    echo " ".$pvdata['forum_poll_option_text']."<br>\n";

                    echo " ".$option_votes."% = [".$pvdata['forum_poll_option_votes']." ".($pvdata['forum_poll_option_votes'] == 1 ? $locale['global_133'] : $locale['global_134'])."]</td>\n</tr>\n";

            } else {
               echo "<tr>\n<td><label><input type='radio' name='poll_option' value='".$i."' style='vertical-align:middle' /> ".$pvdata['forum_poll_option_text']."</label></td>\n</tr>\n";
               $i++;
            }
         }

      // БЫЛО if ((iMEMBER && isset($pdata['forum_vote_user_id']) || (!$fdata['forum_vote'] || !checkgroup($fdata['forum_vote'])))) {
         if ( isset($pdata['forum_vote_user_id']) || (!$fdata['forum_vote'] || !checkgroup($fdata['forum_vote']))) {

            echo "<tr>\n<td align='center' colspan='4'>".$locale['vottot'].$pdata['forum_poll_votes']."</td>\n</tr>\n";
         } else {
            echo "<tr>\n<td align='center'><input type='submit' name='cast_vote' value='".$locale['votyu']."' class='button' /></td>\n</tr>\n";
         }
         
         echo '<tr><td align="center" colspan="4"><a href="'.FORUM.'viewthread.php?forum_id='.$fdata['forum_id'].'&amp;thread_id='.$fp_nowpoll.'">'.$locale['votgo'].'</a></td></tr>';
         echo "</table>\n</td>\n</tr>\n</table>\n";
         if (iMEMBER) {
            echo "</form>\n";
         }

      } // if (dbrows($presult))


closeside();

} // else { echo '<div align="center">'.$locale['votno'].'</div>'; } // НЕТ ГОЛОСОВАНИЙ !!





forum_pol_panel
Скачать исходники  Код

 $locale['votes'] = 'Голосования';
 $locale['votgo'] = 'Перейти в ветку';
 $locale['vottot'] = 'Всего голосов : ';
 $locale['votyu'] = 'Голос!';
 $locale['votnu'] = 'Вы должны зарегистрироваться и войти, чтобы голосовать';
 $locale['votno'] = 'На форуме ещё нет голосований';



Vveb--ws присоединено следующее:файл:
forum_pol_panel_bogatyr-665-utf8.zip [3.17кБ / 26 Загрузки]

Изменил(а) Vveb--ws, 01.06.2019 18:35
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Alex Alex (1,211)   Zaxap Zaxap (1,089)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)