Дается текст вопроса. Дается три варианта ответа (максимальное число ответов можно увеличить). Посетитель должен выбрать один из вариантов и проголосовать. Когда количество голосований станет достаточно большим, пользователь системы управления может переключить блок в режим отображения результатов опроса.
Шаблон (poll.tpl):<?php echo " {$dat['edit']} <div>$dat[1]</div> <form action='?update&block={$block}&rec={$dat['rec']}' method='post'> <table> <tr> <td><input type='checkbox' name='answer[4]' value='1'></td> <td>$dat[3]</td> </tr> <tr> <td><input type='checkbox' name='answer[6]' value='1'></td> <td>$dat[5]</td> </tr> <tr> <td><input type='checkbox' name='answer[8]' value='1'></td> <td>$dat[7]</td> </tr> <tr> <td colspan='2'><input type='submit' value='ok'> </tr> </table> </form> "; ?>
<?php
# Вводная часть
$titles[1] = 'Вопрос';
$types[1] = 'varchar(255)';
# Поля для ответов
$titles[3] = "Вариант ответа 1";
$titles[5] = "Вариант ответа 2";
$titles[7] = "Вариант ответа 3";
$titles[4] = "Количество проголосовавших за ответ 1";
$titles[6] = "Количество проголосовавших за ответ 2";
$titles[8] = "Количество проголосовавших за ответ 3";
$types[3] = 'varchar(255)';
$types[5] = 'varchar(255)';
$types[7] = 'varchar(255)';
$types[4] = 'int(8) unsigned';
$types[6] = 'int(8) unsigned';
$types[8] = 'int(8) unsigned';
# Параметры
$params['public']['editing-allowed'] = true;
?>
<?php
if ($_POST['answer'])
{
foreach ($_POST['answer'] as $field => $val)
{
# считать старые данные
$num = getDat($_GET['block'], $_GET['rec'], $field);
# Увеличить значение поля на 1
$_POST['dat'][$field] = $num + $val;
}
}
?>