好吧,如果你想要更多的交互性,我建议你使用 JavaScript 来生成图表,而不是 PHP,但你仍然可以让它工作。
为简单起见,我假设您的网站上加载了 jQuery,并且 column.php 工作正常。
将您的表单更改为:
<img id="dynamicColumns" src="columnmaker.php" alt="">
<form action="" method="POST">
Like: <input type="number" id="like" name="like" min="0" step="100"> <br>
Dislike: <input type="number" id="dislike" name="dislike" min="0" step="100"> <br>
Neutral: <input type="number" id="neutral" name="neutral" min="0" step="100"> <br>
<input type="submit" id="updateColumns" value="Change!">
</form>
然后你可以使用 jQuery 发送一个 AJAX 请求,并以这种方式捕获响应:
$('#updateColumns').on('click', function(e) {
e.preventDefault(); // This statement prevents the form from being submitted
var like = $('#like').val();
var dislike = $('#dislike').val();
var neutral = $('#neutral').val();
$.ajax({
type: "POST",
data: {like:like, dislike:dislike, neutral:neutral}
url: "columnmaker.php"
}).done(function(response) {
d = new Date();
$("#dynamicColumns").attr("src", "/columnmaker.php?"+d.getTime());
// latter statement will force the browser to reload image on request.
});
});
调用中的url
参数$.ajax
将通过 POST 将所有信息发送到该页面,以便您可以通过以下方式访问PHP 中的likes
、dislikes
和neutral
值:
$_POST['likes']
$_POST['dislikes']
,$_POST['neutral']
并以您希望动态生成列的任何方式使用这些变量。
最后注:
要在您的页面中包含 jQuery,只需使用此标记:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>