使用 For 循环的 Javascript 和 PHP

标签 javascript php mysql loops for-loop

我有以下代码将输出如下折线图:

<script class="code" type="text/javascript">
$(document).ready(function(){

var line1=[['2008-08-12 ',14], ['2008-09-12 ',6.5], ['2008-10-12 ',5.7], ['2008-11-12 ',9], ['2008-12-12 ',8.2]];

 var plot1 = $.jqplot('chart1', [line1], {
    title:'Daily Sales',
    axes:{
        xaxis:{
            renderer:$.jqplot.DateAxisRenderer
        }
    },
    series:[{lineWidth:4, markerOptions:{style:'square'}}]
  });
});
</script>

上面代码的输出是正确的,但我想插入一个PHP循环来从mysql中选择数据并将其作为数组放入var line1

所以我创建了一个测试代码如下:

<script class="code" type="text/javascript">
$(document).ready(function(){


<?php


    $date = date('Y-m-d');
    for($i=1;$i<6;$i++){

    $newdate = strtotime ( '+1 month' , strtotime ( $date ) ) ;
    $newdate = date ( 'Y-m-j' , $newdate ); 
?>
    var line1=[['<?php echo $newdate; ?> ',<?php echo $i ?>]];

<?php
    $date = $newdate;
}
?>


  var plot1 = $.jqplot('chart1', [line1], {
    title:'Daily Sales',
    axes:{
        xaxis:{
            renderer:$.jqplot.DateAxisRenderer
        }
    },
    series:[{lineWidth:4, markerOptions:{style:'square'}}]
  });
});
</script>

这输出的最后一个值是 2015-5-165 我想要的是输出从 1 到 5 的所有结果并且每个日期递增2014-12-16 月至 2015-5-16 月。

我希望这是有道理的!谢谢你

最佳答案

你做错了。您不使用 PHP 将文本直接转储到 Javascript 代码块中。这是引入 javascsript 语法错误并终止整个代码块的必经之路。

您构建一个原生 PHP 结构(数组、对象等),然后对其进行 json_encode()。

例如

<?php

$results = get_data_from_db();
$data = array();
while($row = fetch_row_from_result($results)) {
   $data[] = array($row['foo'], $row['bar']);
}

?>

<script type="text/javascript">
    var data_from_db = <?php echo json_encode($data); ?>;
</script>

关于使用 For 循环的 Javascript 和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27513315/

相关文章:

javascript - 每次ajax成功函数循环在codeigniter中完成时尝试将数据添加到新的div

mysql - 存储不同的用户类型

javascript - 使用 BeautifulSoup 捕获 JavaScript 警报文本

javascript - 使用 TypeScript 时无法扩展 JavaScript native 方法声明

php - 如何为 LAMP 删除 WIMP

php - 即使 Laravel 数据库中没有数据,也显示每周的天数

PHP PDO MYSQL 重复更新

php - 如何使用 MySQL 和 PHP 打印单个单元格的值?

javascript - 将实时 html 内容从一个 div 复制到另一个

javascript - 我的过滤器错误