我已经在这方面工作了几天但我似乎无法找到答案。我有一个显示问题和答案的网页供您选择,当您点击提交时,它会转到下一个问题。问题是尝试将每个问题后的结果显示为网页上的条形图。我试图让服务器首先推出一个问题,当选择答案时,图表会实时更新。我已经通过php教程经历了这么多套接字,但我仍然觉得很难。我正在使用Composer来处理客户端和服务器。我尝试并测试了从服务器向客户端网页发送消息,但是当我尝试使用客户端输入进行更新时,该网页无效。
下面的测试代码计算并显示问题后的投票数。数据目前没有进入数据库,因为我一直试图这样做并且它没有进入。
<?php
if(isset($_GET['question'])){
$connection = mysqli_connect('localhost', 'root', '', 'quiz');
$question = preg_replace('/[^0-9]/', "", $_GET['question']);
$sql2 = mysqli_query($connection,"SELECT * FROM answers WHERE question_id='$question' ORDER BY rand()");
while($row2 = mysqli_fetch_array($sql2)){
$answer = $row2['answer'];
$correct = $row2['correct'];
$answers .= '<label style="cursor:pointer;"><input type="radio" name="rads" value="'.$correct.'" onclick="getVote(this.value)" >'.$answer.'</label>
';
}
}
$vote = isset($_GET['rads']);
//get content of textfile
$filename = "poll_result.txt";
$content = file($filename);
//put content in array
$array = explode("||", $content[0]);
$yes = $array[0];
$no = $array[1];
if ($vote == 0) {
$yes = $yes + 1;
}
if ($vote == 1) {
$no = $no + 1;
}
//insert votes to txt file
$insertvote = $yes."||".$no;
$fp = fopen($filename,"w");
fputs($fp,$insertvote);
fclose($fp);
?>
<h2>Result:</h2>
<table>
<tr>
<td>Yes:</td>
<td>
<img src="poll.gif"
width='<?php echo(100*round($yes/($no+$yes),2)); ?>'
height='20'>
<?php echo(100*round($yes/($no+$yes),2)); ?>%
</td>
</tr>
<tr>
<td>No:</td>
<td>
<img src="poll.gif"
width='<?php echo(100*round($no/($no+$yes),2)); ?>'
height='20'>
<?php echo(100*round($no/($no+$yes),2)); ?>%
</td>
</tr>
</table>
<?php if(isset($_GET['question'])){?>
<span id="btnSpan"><button onclick="post_answer()">Submit</button></span><?php }?>
<?php
如果从数据库中显示图表,则表示不会实时更新。我想在用户输入后更新图表。任何想法都会非常有用。