2011-06-17 14 views
0

私はgoogle analytics gapiクラスphpで助けが必要です。 (http://code.google.com/p/gapi-google-analytics-php-interfaceGoogleアナリティクスAPI。ループ中に結果をソートするには

カタログの各項目が何回表示されたかを出力したい。

  1. /item.php?id=1
  2. /item.php?id=2
  3. ECT:アイテムのページには、例えば、IDとを生成します。

私はランダムフィルタを生成するために、ループを使用しておりますので、最も見られた項目で注文したいまで、だから、すべてが私のコードで右行く: $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 />'; 
      } 
     } 

それは出力:

商品をSTATISTIC

  • 1図)IDであるアイテム1とNAMEは: 予約を見た:9時刻
  • 2)IDが2で、名前が のアイテム: IDは1回
  • 3)アイテム:3とNAMEです: 表:4とNAMEは次のとおりです: ハウス:27回

私が欲しいIDが3回

  • 4)アイテム出力に:

    ITEMS STATISTIC

    • 1図)IDはアイテム数:4とNAMEである: ホウスIDが27倍
    • 2)項目:eが閲覧された1とNAMEである: 今見た:9回
    • 3)商品IDがある:3とNAMEである: 表が表示された回数:3回IDがある
    • 4)アイテム:2と名前は次のとおりです。 ボックスが表示された:1回
  • +0

    注:開始日と終了日には引用符がありません。 '$ termFrom'は現在' 2011 - 06 - 01 = 2004'です。終了日と同じです。 ;) –

    答えて

    1

    フィルタは一度にすべてのあなたの20の項目を取得し、ソートそれらGoogle 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 
    } 
    

    これはテストされていませんが、フィルタの正規表現は正しく一致するはずです。

    私はあなたが最も多く見たアイテムのURLを20としたいと思っていました。

    +0

    ありがとう、それは働いた! – Christine

    関連する問題