0

我有位于两个表中的数据,我想对其进行计数,然后使用 Google 条形图进行显示。我一直在苦苦挣扎,在其他任何地方都找不到这个案例的答案。这两个表有共同的 user_id,我想从第一个表 (qsp_tiles) 中计算 gam_id 列,从第二个表 (qsp_orders) 中计算 mam_id。这是我正在使用的一些代码:

$db->setQuery("SELECT t.user_id, COUNT ( o.gam_id) AS wake, COUNT( t.mam_id ) AS chuck, 
FROM #__qsp_tiles t
FULL JOIN #__qsp_orders o 
ON t.user_id=o.user_id 
");

$result = $db->loadObjectList();

foreach ($result as $row){
$array[date("d D",$row->payment_date)]['wake'] += $row->wake;
$array[date("d D",$row->payment_date)]['chuck'] += $row->chuck;
}
foreach ($array as $k => $a) {
$out[] = "['{$k[payment_date]}', {$a[wake]}, {$a[chuck]}]";
}
?> 

<?php
echo implode(",", $out);
?>

最后一点应该变成 [5 Thu, 20, 50] 之类的东西,这就是需要进入 Google 条形图的内容。我想让它吐出最后 5 天,但现在我只需要知道如何做一天。任何帮助将非常感激!

4

1 回答 1

0

目前尚不完全清楚您要实现的目标,但如果您只是想计算每个表中的行数,我会使用两个单独select的语句来计算行数,如下所示:

select count(gam_id) from qsp_tiles

select count(mam_id) from qsp_orders

如果您想计算两个表共有的行数,我将使用以下语句(它与您已经使用的基本相同,只是在 select 中没有 user_id 字段,只有一个计数):

select count(t.user_id) from qsp_tiles t inner join qsp_orders o on t.user_id = o.user_id
于 2013-02-23T12:53:39.353 回答