我正在嘗試使用從MySQL獲取信息的PHP文件製作餅圖,JSON對其進行編碼,然後將其發送到我的JS文件以製作餅圖。我看過大部分在這裏發佈的其他問題,而他們都沒有幫助我。我試圖重新編寫我的代碼來匹配似乎合適的代碼,但沒有任何工作。
我的PHP文件是:使用php,ajax和jqplot製作餅圖
$shelvDate = $_POST['shelvDate'];
$x = 0;
// get information from database for shelving chart
$shelv = $conn -> query ("SELECT sum(quantity) as qty, date_process, created_by, first_name from inventory LEFT JOIN users on users.user_id =inventory.created_by
WHERE date_process = '$shelvDate' GROUP BY created_by");
$num_rows = $shelv->num_rows;
if($num_rows > 0){
while($row = $shelv->fetch_assoc()) {
if($row['qty'] > 0){
$qtyArray[$x] = $row['qty'];
$nameArray[$x] = $row['first_name'];
}
$x++;
$pairs = array('first_name' => $nameArray, 'qty' => $qtyArray);
} // end of while statement
} //end of if statement
$conn->close();
echo json_encode(array($pairs));
當我嘗試將數據進入我ajax/js
我得到一個錯誤。我JS
是:
$("#getRecords").live('click', function() {
var ajaxDataRenderer = function(url, plot, options) {
var ret = null;
$.ajax({
type: "POST",
async: false,
url: url,
dataType:"json",
data: ({shelvDate: $('#shelvDate').val()}),
success: function(data) {
for(var x=0; x<data.first_name.length; x++) {
var info = [data.first_name[x], data.qty[x]];
ret.push(info);
}
}); // end of ajax call
return ret;
}; // end of ajaxDataRenerer call
// The url for our json data
var jsonurl = "shelvChart.php";
var plot2 = $.jqplot('shelvChart', jsonurl,{
seriesDefaults: {
// Make this a pie chart.
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
// Put data labels on the pie slices.
// By default, labels show the percentage of the slice.
showDataLabels: true
}
},
title: "Books Shelved",
dataRenderer: ajaxDataRenderer,
dataRendererOptions: {
unusedOptionalUrl: jsonurl
}
});
});
我不知道我做錯了,甚至從這裏到去,因爲我還是新的AJAX和JS。任何幫助將不勝感激。
吉姆
什麼是執行console.log(數據)的'結果;''的成功裏面:功能(數據){}' –
如果我添加在成功的提示框:功能(數據) ,我得到名字[對象,對象],數量[對象,對象]。 – Jim