如何使用php和mysql循环数据[]系列

时间:2013-10-07 08:01:30

标签: php mysql sql highcharts

这是我的桌子结构  enter image description here

enter image description here

我正在使用highcharts

这是我的代码:

    $(function () {
      $('#container_journal').highcharts({

        xAxis: {
            categories: [
                 '1995', '1996', '1997', '1988'
        ]
        },
        yAxis: {
            title: {
                text: 'Citations'
            },
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },
        tooltip: {
            valueSuffix: ''
        },
        legend: {
            layout: 'vertical',
            align: 'right',
            verticalAlign: 'middle',
            borderWidth: 0
        },
        series: [{
            name: 'A + U-Architecture and Urbanism',
            data: [<?php 
            $test_q = mysql_query("SELECT jour_id, journal, citations, year FROM journ_graph WHERE jour_id = '1'");
    while($row_q = mysql_fetch_array($test_q)){
        $year_q = $row_q['year'];
        $citations_q = $row_q['citations'];
        echo $citations_q.',';
    }
        ?>]
        },{
            name: 'AACE International. Transactions of the Annual Meeting',
            data: [
                   <?php 
            $test_q = mysql_query("SELECT jour_id, journal, citations, year FROM journ_graph  WHERE jour_id = '2'");
                         while($row_q =  mysql_fetch_array($test_q)){
                            $year_q = $row_q['year'];
                            $citations_q =  $row_q['citations'];
                            echo $citations_q.',';
                         }
       ?>]
         },{
            name: 'AACL Bioflux',
            data: [
                   <?php 
              $test_q = mysql_query("SELECT jour_id, journal, citations, year FROM journ_graph WHERE jour_id = '3'");
    while($row_q = mysql_fetch_array($test_q)){
    $year_q = $row_q['year'];
    $citations_q = $row_q['citations'];
    echo $citations_q.',';
    }
         ?>]
        }
      ?>]
      ]
    });
   });

这里我手动输入id。在where子句(参考代码)中,图表显示。 看下面:enter image description here SELECT jour_id,journal,citations,year FROM journ_graph WHERE jour_id ='3' 在上面的语句我手动输入id,但我需要它来自第一个表,jour_id。

我也试过了,但它不起作用。

   series: [
    <?php 
    $query_jour = mysql_query("SELECT jour_id, journal, citations, year FROM journ_graph");
                                                     $query_journ_count = mysql_num_rows($query_jour);
                                         while($row_journ = mysql_fetch_array($query_jour)){
                                         $jour_id = $row_journ['jour_id'];

  ?>
    {
            data: [<?php 
          $test_q = mysql_query("SELECT jour_id, journal, citations, year FROM journ_graph WHERE jour_id = '$jour_id'");
    while($row_q = mysql_fetch_array($test_q)){
        $year_q = $row_q['year'];
        $citations_q = $row_q['citations'];
        echo $citations_q.',';
    }
    ?>]
       }
  <?php
  }?>

我已经使用了两个while循环但是尽管它不起作用。请告诉我哪里出错了。请帮忙。

1 个答案:

答案 0 :(得分:0)

我建议你对数据库运行一个查询,准备包含三个系列的数组,然后在PHP中使用json_encode()并在javascript中通过AJAX获取数据。它会更清楚。