2015-12-21 167 views
1

我是Parse.com的新手&學習如何,有誰知道是否可以從Parse.com查詢數據&然後將其導出爲CSV文件使用PHP?PHP Parse.com將表導出爲CSV文件

我parse.com查詢如下:

$query = new ParseQuery("Counter"); 
$query->equalTo("user", $currentUser); 
$result = $query->find(); 
print_r($result); 

這給了我所有我的數據,我需要考慮到所有這些CSV文件。

我知道parse.com有一個單擊功能,允許您從表中獲取數據,但是我需要在我的網站上構建一個功能,以便客戶端可以使用它。

有沒有人有任何想法?

UPDATE:

這裏是輸出(它輸出159分的記錄,所以我只包括在第一少數)的SNIPPIT。

Array ([0] => Parse\ParseObject Object ([serverData:protected] => Array ([covers] => Array ([0] => 1)) [operationSet:protected] => Array () [estimatedData:Parse\ParseObject:private] => Array ([covers] => Array ([0] => 1)) [dataAvailability:Parse\ParseObject:private] => Array ([covers] => 1) [className:Parse\ParseObject:private] => Covers [objectId:Parse\ParseObject:private] => l6rKi7qpFX [createdAt:Parse\ParseObject:private] => DateTime Object ([date] => 2015-12-12 00:40:58.178000 [timezone_type] => 2 [timezone] => Z) [updatedAt:Parse\ParseObject:private] => DateTime Object ([date] => 2015-12-12 00:40:58.178000 [timezone_type] => 2 [timezone] => Z) [hasBeenFetched:Parse\ParseObject:private] => 1) [1] => Parse\ParseObject Object ([serverData:protected] => Array ([covers] => Array ([0] => 1)) [operationSet:protected] => Array () [estimatedData:Parse\ParseObject:private] => Array ([covers] => Array ([0] => 1)) [dataAvailability:Parse\ParseObject:private] => Array ([covers] => 1) [className:Parse\ParseObject:private] => Covers [objectId:Parse\ParseObject:private] => pKAhO2o9Yp [createdAt:Parse\ParseObject:private] => DateTime Object ([date] => 2015-12-12 00:40:57.309000 [timezone_type] => 2 [timezone] => Z) [updatedAt:Parse\ParseObject:private] => DateTime Object ([date] => 2015-12-12 00:40:57.309000 [timezone_type] => 2 [timezone] => Z) [hasBeenFetched:Parse\ParseObject:private] => 1) [2] => Parse\ParseObject Object ([serverData:protected] => Array ([covers] => Array ([0] => 1)) [operationSet:protected] => Array () [estimatedData:Parse\ParseObject:private] => Array ([covers] => Array ([0] => 1)) [dataAvailability:Parse\ParseObject:private] => Array ([covers] => 1) [className:Parse\ParseObject:private] => Covers [objectId:Parse\ParseObject:private] => 6q17n3FFyX [createdAt:Parse\ParseObject:private] => DateTime Object ([date] => 2015-12-12 00:40:56.453000 [timezone_type] => 2 [timezone] => Z) 
+0

你能告訴我們什麼的print_r($結果)輸出? – Nassim

+0

嗨Nassim,我已經添加了輸出的摘錄,謝謝 –

回答

1

我不知道如果fputcsv會幫助,但你可以嘗試

<?php 

$query = new ParseQuery("Counter"); 
$query->equalTo("user", $currentUser); 
$result = $query->find(); 
//print_r($result); 

$fp = fopen('file.csv', 'w'); 

foreach ($result as $fields) { 
    fputcsv($fp, $fields); 
} 

fclose($fp); 
?> 
+0

嗨,我試過了,但似乎並沒有工作 - 我擴展了它,因爲我沒有得到任何輸出和使用以下,但仍然沒有快樂: $ fp = fopen(「php:// output」,'w')or die(「Can not open php:// output」); header(「Content-Type:application/csv」); header(「Content-Disposition:attachment; filename = dboutput.csv」); foreach($ result as $ fields){ fputcsv($ fp,$ fields); } fclose($ fp)or die(「Can not close php:// output」); –

+0

剛剛添加,我設法生成的CSV文件,但它只是不包含任何數據,所以它似乎是$結果和生成CSV文件 –

+0

@CBalicki之間的差距的事情是,它是一個混合和嵌套數組,這意味着它在數組元素中嵌套了對象,所以您將不得不在每個嵌套級別上使用foreach循環。對於那個很抱歉 – Nassim