PHP民意调查和价值观

时间:2015-09-21 09:46:04

标签: javascript html

我是php的新手,我试图创建一个民意调查。每个答案都有一个值(从0到3),当我按下"提交"我希望为不同的结果显示不同的消息。例如,如果值的总和为0-4,我希望它显示一条消息。如果是5-9,则是另一条消息。

<label><span class="badge">1</span>Do you like this website?</label>
<p>
  <label>No</label>
  <input type="radio" name="poll" value="0"><br/>
  <label>Maybe</label>
  <input type="radio" name="poll" value="1"><br/>
  <label>I don't know</label>
  <input type="radio" name="poll" value="2"><br/>
  <label>Yes</label>
  <input type="radio" name="poll" value="3"><br/>
</p>
<input type="button" class="btn-danger" id="btn" value="Submit">

这是我的HTML。我只能找到一个数据库的例子。谢谢!

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你试图添加一个民意调查系统,但没有整合数据库来存储每一票。

如果您希望来自不同计算机的人能够在同一页面上投票,则会出现此问题。没有数据库,您实际上只能使用Javascript在本地存储每个投票。因此,所有用户都必须在同一浏览器上使用轮询,而无需刷新页面。

如果这就是你想要的,那么你可以这样做:

FIDDLE

var sum = 0;
var count = 0;
var avg = 0;

$("#btn").on("click", function() {
    count++;
    sum = +sum + +$('input[name=poll]:checked').val();
    avg = sum / count;
    $("#print").html("The average is: " + avg + ", and the sum is: " + sum);
    if(sum < 5) {
        alert("The sum is below 5!");
    } else {
        alert("The sum is above 5!");
    }
});

请注意,我在这里使用了jQuery,但可以不用。

编辑:警报应该说“总和”而不是“平均”。

编辑2:php方法 - 仅限单票 - 没有数据库:

<强> HTML

<form action="process_vote.php" method="post">
  <label><span class="badge">1</span>Do you like this website?</label>
  <p>
    <label>No</label>
    <input type="radio" name="poll" value="no"><br/>
    <label>Maybe</label>
    <input type="radio" name="poll" value="maybe"><br/>
    <label>I don't know</label>
    <input type="radio" name="poll" value="I don't know"><br/>
    <label>Yes</label>
    <input type="radio" name="poll" value="yes"><br/>
  </p>
  <input type="submit" class="btn-danger" id="btn" value="Submit">
</form>

<强> PHP

<?php

   $var = $_POST['poll'];

   echo "The user voted: $var";
?>