我想使用php中的数据在javascript中显示图形。我的代码是:
<?php $i = 20; ?>
while (data.length < totalPoints) {
array_js.push(<?php echo json_encode($array_php[++$i][1]);?>);
}
问题是即使$ i在while循环之前被声明,它也会一直返回到20,所以在array_js中推送的数据总是$ array_php [21] [1]。
编辑:这里有更多代码,(不是同一个变量名......)
startConn(); //connect to database
$query = "SELECT * FROM Reading";
$data = getAllDatas($query);
?>
<script type="text/javascript">
$(function() {
var data = [], totalPoints = 300;
function getRandomData() {
<?php $i = 20; ?>
while (data.length < totalPoints) {
data.push(<?php echo json_encode($data[--$i][1]);?>);
//data.push(<?php echo ++$i;?>);
}
} // END getRandomData()
答案 0 :(得分:1)
您对服务器端和客户端代码的工作方式存在误解 我想这可能会对你有帮助
$(function() {
var data = [], totalPoints = 3;
var i = <?php $i = 1;echo $i; ?>;
var j = parseInt(i);
var arr = <?php echo json_encode($data); ?>;
function getRandomData() {
while (data.length < totalPoints) {
data.push(arr[j][1]);
j++;
}
return data;
}
var data1 = getRandomData();
console.log(data1);
});
答案 1 :(得分:0)
试试这个。您可以使用echo传递php变量的值,同时在java脚本上声明另一个变量。
<?php $i = 20; ?>
var i = <?php echo $i;?>;
while (data.length < totalPoints) {
array_js.push(<?php echo json_encode($array_php[++i][1]);?>);
}