2011-06-17 13 views
0

我需要使用php的google analytics gapi類的幫助。 (http://code.google.com/p/gapi-google-analytics-php-interface谷歌分析API。要在循環中對結果進行排序

我想輸出目錄中每個項目被查看的次數。該項目的頁面ID生成例如:

  1. /item.php?id=1
  2. /item.php?id=2
  3. 等。

所以一切發展順利,我的代碼,直到我想最看項目訂購,因爲我使用循環,生成隨機過濾器: $filter = "pagePath == /item.php?id=".$i++."";

我不能夠在GAPI排序使用「requestReportData」。

使用下面顯示的代碼輸出正確的輸出,但我不知道如何對所有內容進行排序,因此它會顯示最常查看的項目的結果,直到最少。

的代碼:

$ga = new gapi(ga_email,ga_password); 
$dimensions = array('pagePath'); 
$metrics = array('pageviews');  
$termFrom = 2011-06-01; 
$termUntil = 2011-06-30; 
echo '<strong>ITEMS VIEW STATISTIC</strong><br />'; 
for ($i='1'; $i<'20';) 
    { 
     $filter = "pagePath == /item.php?id=".$i++.""; 
     $ga->requestReportData(table_id,$dimensions,$metrics,'-pageviews',$filter, $termFrom, $termUntil); 
     foreach($ga->getResults() as $result) 
      { $j= $i-1; $b=$j-1; 
       echo $z++.') Items which ID is:'.$j++.' and NAME is: '.$ItemsNamesArray[$b]['item_name'].' was viewed: '.$result->getpageviews() . ' times<br />'; 
      } 
     } 

它輸出:

物品查看統計量

  • 1)項,其ID是:1和NAME是: 書被視爲:9次
  • 2)ID爲:2和NAME的項目爲: Box: 1次
  • 3)的項目,其ID是:3和NAME是: 表:3次
  • 4)的項目,其ID是:4和NAME是: 家:27倍

我想它輸出:

物品查看統計量

  • 1)項,其ID是:4和NAME是: HOUS e爲觀看次數:27次
  • 2)的項目,其ID是:1和NAME是: 書被看過:9倍
  • 3)的項目,其ID是:3和NAME是: 表被看過:3次
  • 4)項目,其ID是:2名是: 包廂觀看次數:1次
+0

另一個說明:開始和結束日期現在缺少引號。 '$ termFrom'目前是'2011 - 06 - 01 = 2004'。相同的結束日期。 ;) – 2011-06-17 15:05:32

回答

1

您可以使用正則表達式過濾器,讓您的全部二十項一次,並有谷歌Analytics(分析)排序它們:

$ga    = new gapi(ga_email,ga_password); 

$dimensions  = array('pagePath'); 
$metrics  = array('pageviews');  
$termFrom  = '2011-06-01'; 
$termUntil  = '2011-06-30'; 
$filter   = 'pagePath=~/item\.php\?id=[0-9]*' // Matches all item URLs 
$sort   = '-pageviews'; // Sorted by desc. pageview count 
$maxResults  = 20; // First 20 entries 

$ga->requestReportData(table_id, $dimensions, $metrics, $sort, $filter, $termFrom, $termUntil, 1, $maxResults); 

foreach($ga->getResults as $i => $result){ 
    // Do your magic for each item 
} 

雖然這未經測試,但過濾器中的正則表達式應正確匹配。

我認爲你想要20個最常見的項目URL。

+0

謝謝你,工作! – Christine 2011-06-19 07:43:59