0
這個問題已經在這裏問過幾次了,但不幸的是答案沒有解決我的問題。使用jqplot在Javascript中使用
該網站是目前可見的活在http://www.crosstrendanalysis.co.uk/jqplot_test.php
相關的代碼如下,但是問題的關鍵在於下面的代碼之內;
var line1 = "<?php echo $outputString; ?>";
當我使用輸出(通過複製和粘貼)$ outputString而不是使用它創建一個圖形完全正常的PHP的,但是當我嘗試使用PHP這是行不通的。
我想從一個MySql數據庫中獲取數組使用JQPlot。
<script type="text/javascript">
$(document).ready(function(){
var line1 = "<?php echo $outputString; ?>";
var plot1 = $.jqplot('chart1', [line1], {
title: 'Volume of questionnaires completed',
series:[{renderer:$.jqplot.BarRenderer}],
axesDefaults: {
tickRenderer: $.jqplot.CanvasAxisTickRenderer ,
tickOptions: {
angle: -30,
fontSize: '10pt'
}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer
}
}
});
});
</script>
<div id="chart1" style="height:300px; width:500px;"></div>
<?php echo "<h3>";
echo $output;
echo "<br>";
echo $outputString;
echo "</h3>";?>
我一直在掙扎與此相當長的一段時間,所以如果有人能解決這個問題我將非常感激:數組與下面的代碼
$weeknumbers = array();
$completedquestionnaires = array();
$output = array();
while($row=mysqli_fetch_assoc($resultQuestionnaireCount)){
// $completedquestionnaires[] = $row['VolumeOfAnswers'];
// $weeknumbers[] = $row['WeekNumber'];
$temp1 = array();
$temp2 = array();
$temp1[] = "".$row['WeekNumber']."";
$temp2[] = "".$row['VolumeOfAnswers']."";
$output[] = '[' . json_encode(implode(", ", $temp1)) . ', ' . implode(", ", $temp2) . ']';
//$output[] = $temp1;
}
//$outputTemp = implode(',\n',$output);
$outputString = '['.print_r(implode(",\n",$output),1).']';
$output = json_encode($output);
的JQPlot代碼創建的。
感謝 Maudise
嗨,這太棒了!我已經看到你需要用它來包裝它「但是在這種情況下它不起作用,爲什麼呢?還有這些尺度有點奇怪,是否有一種方法讓volumeofanswers不被放在」「中,因此被採用作爲一個整數? – Maudise 2013-03-10 20:59:05
如果變量是一個字符串,'json_encode'會爲你添加引號,你可以使用'intval'在PHP端修改變量的類型 – 2013-03-10 21:35:38
非常好,謝謝你的幫助!我確信這會是很好用,我可能需要在這裏或那裏調整它,但是你讓我超越了我的絆腳石!謝謝! – Maudise 2013-03-10 21:40:03