COMPLEX PARSE.com问题!使用多维数组查询数据并导出为CSV

时间:2015-12-22 21:30:18

标签: php arrays csv parse-platform export-to-excel

我在将数组转换为CSV文件时遇到问题,我现在可以将输出输出到CSV文件中,但它只是将以下内容打印到CSV文件中:

objectId    createdAt
Array   Array
Array   Array
Array   Array
Array   Array
Array   Array
Array   Array
Array   Array

我相信这是因为我需要压扁阵列,但是我不知道如何做到这一点,我几乎已经开始研究如何使用数组&我去的时候是parse.com,但我对PHP有很好的了解,我的代码如下:

$query = new ParseQuery("Counts");

 $results = $query->find();
 for ($i = 0; $i < count($results); $i++) 

 {    
    $detail=array();
    $object = $results[$i];

    $detail['objectId'][$i] = $object->getObjectId();
    $detail['createdAt'][$i] = $object->getCreatedAt();
  //  print_r($detail);
    $response[]=$detail;

 }


$output = fopen('php://output', 'w');
header("Content-Type:application/csv"); 
header("Content-Disposition:attachment;filename=dboutput.csv"); 
fputcsv($output, array('objectId','createdAt'));
foreach ($response as $fields) {
    fputcsv($output, $detail);
}
fclose($output);

而不是输出数组我需要输出存储的信息,存储在我的parse.com数据库中(createdAt = date&amp; objectId = string)。

如果它有助于数组如下所示:

阵 (     [date] =&gt;排列         (             [0] =&gt; eGocH6OznC         )

[createdAt] => Array
    (
        [0] => DateTime Object
            (
                [date] => 2015-12-11 23:02:03.968000
                [timezone_type] => 2
                [timezone] => Z
            )

    )

) 排列 (     [date] =&gt;排列         (             [1] =&gt; P3uhKFzpsq         )

[createdAt] => Array
    (
        [1] => DateTime Object
            (
                [date] => 2015-12-11 23:16:55.633000
                [timezone_type] => 2
                [timezone] => Z
            )

    )

我需要获得日期值&amp; objectId值为CSV文件的2列。

非常感谢任何有关此事的指导。

1 个答案:

答案 0 :(得分:0)

执行此操作的正确代码是:

$query = new ParseQuery("Counts");

$results = $query->find();
$detail=array();
for ($i = 0; $i < count($results); $i++)

{

$object = $results[$i];

$detail[$i]['objectId'] = $object->getObjectId();
$detail[$i]['createdAt'] = $object->getCreatedAt()->format('Y-m-d H:i:s');

}


$output = fopen('php://output', 'w');
header("Content-Type:application/csv");
header("Content-Disposition:attachment;filename=dboutput.csv");
fputcsv($output, array('objectId','createdAt'));
foreach ($detail as $fields) {
fputcsv($output, $fields);
}
fclose($output);

?>