Javascript 如何在网页上显示实时图表

Javascript 如何在网页上显示实时图表,javascript,php,sockets,highcharts,real-time,Javascript,Php,Sockets,Highcharts,Real Time,我已经为此工作了好几天了,但我似乎找不到答案。我有一个网页,其中显示了一个问题和答案可供选择,当您单击“提交”时,它将转到下一个问题。问题是试图将每个问题后的结果显示为网页上的条形图。我试图让服务器先推一个问题,当选择答案时,图表会实时更新。我已经用php教程学习了很多socket,但我仍然觉得很难。我正在使用Composer处理客户端和服务器。我尝试并测试了将消息从服务器发送到客户端网页的方法,但没有真正起到作用,因为我正在尝试使用客户端输入进行更新 下面的测试代码统计并显示问题后的投票数。数

我已经为此工作了好几天了,但我似乎找不到答案。我有一个网页,其中显示了一个问题和答案可供选择,当您单击“提交”时,它将转到下一个问题。问题是试图将每个问题后的结果显示为网页上的条形图。我试图让服务器先推一个问题,当选择答案时,图表会实时更新。我已经用php教程学习了很多socket,但我仍然觉得很难。我正在使用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

首先,我认为您应该尝试输入一些静态数字并实时更新-您实现了吗?如果是,请稍后确保您使用的是数字,而不是字符串来更新图表的值。它有完整的API(一点)和(多点)。哦,谢谢。这澄清了很多事情。另外,你知道我如何直接将投票值输入数据库吗。我有
mysqli\u查询($connection),“插入stats(question\u id,correct,error)值('$question,$yes,$no')”或die(mysql\u error())但没有任何内容进入数据库。我想这可能与递增+1有关,我不确定。对不起,我不是PHP人;)但请记住,PHP只执行一次(当您加载页面时)。