[英]Current year data from table as per Month Record
i have this query which is fine working.... 我有这个查询,这是很好的工作....
$result = mysql_query(SELECT Month(ord_aff_date) AS saleMonth, ROUND(SUM(ord_aff_amount),0) AS Total
FROM order_affiliate_details
WHERE aff_id='12' AND YEAR(ord_aff_date)=YEAR(CURDATE())
GROUP BY Month(ord_aff_date) ORDER BY Month(ord_aff_date)");
while($datas = mysql_fetch_array($result)){
$months[]=$datas['saleMonth'];
$value[]= $datas['Total'];
}
print_r($months); exit;
And the result as given below, and not all months, shows... which is right.. 下面给出的结果,而不是所有月份,显示......哪个是正确的..
Result => Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 5 )
Now i want to get a array of values, like this one. 现在我想获得一组值,就像这一个。
Array(['January', 437], ['February', 322], ['March', 233], ['April', 110], ['May', 34], ['June', 20], ['July', 19], ['August', 110], ['September', 34], ['November', 20], ['December', 19],);
as js array.. . 作为js数组.. but now i am stuck how to do that.... can any one help me....??
但现在我被困住了怎么做....任何人都可以帮助我....
Solution: 解:
// As i want to get these data as a json encoded and also in another array,
// but with out square brackets at the end.. so now i find the solution which
// is fit in as js library want...
$final = array_combine($arr_monthName,$values);
$allMonths = array();
$i=0;
foreach($final as $k=>$v)
{
$allMonths[$i]=array($k,$v);
$i++;
}
// then do json_encode
$json = json_encode($allMonths);
$json = preg_replace('/^\[|\]$/', '', $json);
// answer return as....
=> ['January', 437], ['February', 322], ['March', 233], ['April', 110], ['May', 34]
// which then i pass to a js array.... simply.
var arrayData = new Array(<?=$json?>);
// many many thanks to diEcho, which help me to get this... thanks.
if i understand your problem then i think currently ur getting output like this 如果我理解你的问题,那么我认为你现在得到这样的输出
$output = array(0=>array('saleMonth'=>'January','total=>437),
1=>array('saleMonth'=>'February','total=>322). ... )
// first create an array having key as month name and value as total
// suppose we have below array
$monthArray = array( 0=>2, 1 =>3, 2=> 4, 3=>5 );
$valueArray = array( 0=>437,1=>322, 2=>233,4=>458);
function intToMonth($monthNumber)
{
$strTime=mktime(1,1,1,$monthNumber,1,date("Y"));
return date("F",$strTime);
}
$arr_monthName= array_map('intToMonth',$monthArray);
$final = array_combine($arr_monthName,$valueArray);
//final array would be
Array
(
[February] => 437
[March] => 322
[April] => 233
[May] => 458
)
// then do json_encode
json_encode($final);
//output would be in below format, Associative array always output as object:
{"February":437,"March":322,"April":233,"May":458}
to get the output as array of array, try 要将输出作为数组的数组,请尝试
$new = array();
$i=0;
foreach($final as $k=>$v)
{
$new[$i]=array($k,$v);
$i++;
}
json_encode($new);
//output would be in below format , array of array
[["February",437],["March",322],["April",233],["May",458]]
您想使用json_encode输出JS数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.