我是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。我只能找到一个数据库的例子。谢谢!
答案 0 :(得分:1)
如果我理解你的问题,你试图添加一个民意调查系统,但没有整合数据库来存储每一票。
如果您希望来自不同计算机的人能够在同一页面上投票,则会出现此问题。没有数据库,您实际上只能使用Javascript在本地存储每个投票。因此,所有用户都必须在同一浏览器上使用轮询,而无需刷新页面。
如果这就是你想要的,那么你可以这样做:
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";
?>