2013-09-29 32 views
0

我需要從PHP傳遞值給JavaScript將PHP結果集傳遞給Highchart中的JavaScript數組?

try { 
$usr = 'MON_DW'; 
$pswd = '4v$view'; 
$dbConnStr = 'localhost'; 
$dbConn = null; 
$err = null; 
$dbConn = oci_connect($usr,$pswd,$dbConnStr); 
$err = oci_error(); 
$strSQL = "SELECT /*+parallel(B,4)*/ PERCENT_USED FROM (SELECT A.TABLESPACE_NAME, 
ROUND(((A.BYTES-B.BYTES)/A.BYTES)*100,2) PERCENT_USED 
FROM 
    (SELECT TABLESPACE_NAME, 
    SUM(BYTES) BYTES 
    FROM DBA_DATA_FILES 
    GROUP BY TABLESPACE_NAME 
) A, 
    (SELECT TABLESPACE_NAME, 
    SUM(BYTES) BYTES , 
    MAX(BYTES) LARGEST 
    FROM DBA_FREE_SPACE 
    GROUP BY TABLESPACE_NAME 
) B 
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND ROWNUM< 5 
ORDER BY PERCENT_USED DESC)"; 
$stmt = oci_parse($dbConn,$strSQL); 
if (! oci_execute($stmt)){ 
$err = oci_error($stmt); 
trigger_error('Query failed: ' . $err['message'], E_USER_ERROR); 
}; 

$rslt = oci_fetch_array($stmt,OCI_BOTH)  ; 
?> 
<script> 

> var pausecontent = new Array(); 

    <?php foreach($rslt as $key => $val){ ?> 
     pausecontent.push('<?php echo $val; ?>'); <?php echo $val; } ?> 

$(function() { 
     $('#container').highcharts({ 
      chart: { 
       type: 'column', 
       margin: [ 50, 50, 100, 80] 
      }, 
      title: { 
       text: 'World\'s largest cities per 2008' 
      }, 
      xAxis: { 
       categories: [ 
        'Tokyo', 
        'Jakarta', 
        'New York', 
        'Seoul', 
                 ], 
       labels: { 
        rotation: -45, 
        align: 'right', 
        style: { 
         fontSize: '13px', 
         fontFamily: 'Verdana, sans-serif' 
        } 
       } 
      }, 
      yAxis: { 
       min: 0, 
       title: { 
        text: 'Population (millions)' 
       } 
      }, 
      legend: { 
       enabled: false 
      }, 
      tooltip: { 
       pointFormat: 'Tablespaces in EDW : <b>{point.y:.1f} millions</b>', 
      }, 
      series: [{ 
       name: 'Tablespaces', 
       data: pausecontent, 
       dataLabels: { 
        enabled: true, 
        rotation: -90, 
        color: '#FF00F', 
        align: 'right', 
        x: 4, 
        y: 10, 
        style: { 
         fontSize: '13px', 
         fontFamily: 'Verdana, sans-serif', 
         textShadow: '0 0 3px black' 
        } 
       } 
      }] 
     }); 
    }); 

</script> 

<?php  
} 


catch(Exception $exception){ 
    echo "Exception Details in Accessing find_largeobject details".$exception->getMessage(); 
     } 

回答

0

繪製條形圖中,您可以將PHP數組填寫Flash到JavaScript的一個JSON對象是這樣的:

var json = eval(<?php echo json_encode($rslt)?>); 
0

嘗試一些像這樣的事情。

<?php 
$rslt = array( 
    'Date.UTC(2013, 7, 01)' => 8, 
    'Date.UTC(2013, 7, 02)' => 7, 
    'Date.UTC(2013, 7, 03)' => 10, 
    'Date.UTC(2013, 7, 04)' => 2,  
    ); 

?> 

<script> 
//<![CDATA[ 
var pausecontent = []; 

<?php foreach ($rslt as $key => $val) { ?> 

pausecontent.push([ <?php echo "'$key', '$val'"; ?>]); 

<?php } ?> 
//]]> 
</script> 

之後,將JavaScript變量放在圖表系列上。

<script> 
. 
. 

series: [{ 
      name: 'Tablespaces', 
      data: pausecontent, 

     }] 
. 
. 
</script>