Store Foreach in user profile

时间:2014-03-03 作者:Mathieu

我使用foreach通过Analytics API每月获得访问/访客。

我需要以echo显示的方式将结果存储在用户配置文件中。

我尝试了这个方法,但没有得到正确的值(我只得到一个值):

$fromDate = date(\'Y-m-d\', strtotime(\'-365 days\'));
$toDate = date(\'Y-m-d\');   
$ga->requestReportData($profileId,array(\'yearmonth\'),array(\'visitors\', \'visits\'), \'-yearmonth\', null, $fromDate, $toDate); 
$i = 1;
foreach($ga->getResults() as $result)
      {
       $my_graph = "{Visiteurs: \'".$result->getVisitors()."\',Visites: \'".$result->getVisits()."\',number: \'".(-$i++)."\',},\\n";
      } 
update_usermeta( $user_id, \'my_great_graph\',  $my_graph );
我想在单个字段(my\\u great\\u graph)中保存以下内容:

  {Visiteurs: \'8\',Visites: \'9\',number: \'-1\',},
  {Visiteurs: \'72\',Visites: \'83\',number: \'-2\',},
  {Visiteurs: \'96\',Visites: \'104\',number: \'-3\',},
  {Visiteurs: \'93\',Visites: \'119\',number: \'-4\',},
  {Visiteurs: \'72\',Visites: \'81\',number: \'-5\',},
  {Visiteurs: \'32\',Visites: \'38\',number: \'-6\',},
  {Visiteurs: \'0\',Visites: \'0\',number: \'-7\',},
  {Visiteurs: \'0\',Visites: \'0\',number: \'-8\',},
  {Visiteurs: \'0\',Visites: \'0\',number: \'-9\',},
  {Visiteurs: \'0\',Visites: \'0\',number: \'-10\',},
  {Visiteurs: \'0\',Visites: \'0\',number: \'-11\',},
  {Visiteurs: \'0\',Visites: \'0\',number: \'-12\',},
  {Visiteurs: \'0\',Visites: \'0\',number: \'-13\',},
EDIT 1

根据s\\u ha\\u dum的回答,我将其存储在我的数据库中:

a: 13:{i:0;a:3:{s:9:“访客”;i:10;s:7:“访客”;i:11;s:6:“数字”;i:0;}i: 1;a: 3:{s:9:“访客”;i:72;s:7:“访客”;i:83;s:6:“编号”;i:-1;}i: 2、2;a: 3:{s:9:“访客”;i:96;s:7:“访客”;i:104;s:6:“编号”;i:-2;}i: 3、3;a: 3:{s:9:“访客”;i:93;s:7:“访客”;i:119;s:6:“编号”;i:-3;}i: 4、4;a: 3:{s:9:“访客”;i:72;s:7:“访客”;i:81;s:6:“编号”;i:-4;}i: (五);a: 3:{s:9:“访客”;i:32;s:7:“访客”;i:38;s:6:“编号”;i:-5;}i: 6、6;a: 3:{s:9:“访客”;i:0;s:7:“访客”;i:0;s:6:“数字”;i:-6;}i: 7、7;a: 3:{s:9:“访客”;i:0;s:7:“访客”;i:0;s:6:“数字”;i:-7;}i: 8;a: 3:{s:9:“访客”;i:0;s:7:“访客”;i:0;s:6:“数字”;i:-8;}i: 9;a: 3:{s:9:“访客”;i:0;s:7:“访客”;i:0;s:6:“数字”;i:-9;}i: 10;a: 3:{s:9:“访客”;i:0;s:7:“访客”;i:0;s:6:“数字”;i:-10;}i: 11;a: 3:{s:9:“访客”;i:0;s:7:“访客”;i:0;s:6:“数字”;i:-11;}i: 12;a: 3:{s:9:“访客”;i:0;s:7:“访客”;i:0;s:6:“数字”;i:-12;}}

所以现在,我必须找到一种方法来显示它,例如:

{访问者:“0”,访问者:“0”,编号:“-13”,},

1 个回复
SO网友:s_ha_dum

您的问题在于:$my_graph =. 在每次迭代中,您都会将整个字符串重置为新值。你需要$my_graph .= -- 请注意.-- 将字符串连接在一起。这是一个PHP语法问题。

但我不认为我会这样做。update_usermeta() 如果需要,将序列化数组或对象,以便。。。

update_usermeta( $user_id, \'my_great_graph\',  $ga->getResults()  );
。。。将存储原始数据以供以后使用。或

foreach($ga->getResults() as $result)  {
         $my_graph[] = array(
            \'Visiteurs\' => $result->getVisitors(),
            \'Visites\' => $result->getVisits(),
            \'number\' =>  (-$i++),
         );
} 
update_usermeta( $user_id, \'my_great_graph\',  $my_graph );
。。。应以这样的方式存储处理后的数据,以便以后可以以多种方式使用。处理后的字符串很难用于除echo.

get_user_meta($user_id, \'my_great_graph\') 将自动为您取消序列化数据。

结束