これは、公開されている Google ドキュメントのスプレッドシート (CSV としてエクスポート) からデータを取得するために使用しているコードです。
<?php
// link to Google Docs spreadsheet
$url='https://docs.google.com/spreadsheet/pub?key=xxxx&output=csv';
// open file for reading
if (($handle = fopen($url, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$totalrows = count($data);
for ($row=0; $row<=$totalrows; $row++)
{
if (strlen($data[$row])>0)
{
$firstname = $data[1];
$surname = $data[1];
echo $firstname;
echo $surname;
}
}
echo '<pre>';
print_r($data);
echo '</pre>';
}
fclose($handle);
}
exit;
?>
私が得ている出力は次のとおりです。
MartinMartin
Array
(
[0] => Firstname
[1] => Martin
)
CarlinCarlin
Array
(
[0] => Surname
[1] => Carlin
)
私は何が間違っているのか混乱しています.データを変数として設定して、後でスクリプトでエコーできるようにしたいと考えています。
すなわち
<?php echo $firstname; ?>
Martin
ではなく、エコーする必要がありMartinMartin
ます。
これは、データがスプレッドシートに保存される方法です。
A B
1 Firstname Martin
2 Surname Carlin
どんな助けでも大歓迎です!
アップデート
次のように構造を変更しました (長々と繰り返して申し訳ありません)。
// open file for reading
if (($handle = fopen($url, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
for ($row = 0; $row < count($data); $row += 2)
{
$firstname = $data[$row][1];
$surname = $data[$row + 1][1];
}
}
fclose($handle);
}
echo 'Firstname: '.$firstname.'<br /><br />';
echo 'Surname: '.$surname;
exit;