私のmysqlデータベースの一部(および異なる配置)をCSVファイルに保存したいと考えています。そのために、次のコードを書きました。
$headerDisplayed = false;
foreach ($arr as &$currName)
{
$result2 = mysql_query("SELECT * FROM Experiment Where Person='$currName'");
$i = 1;
while ($row2 = mysql_fetch_array($result2))
{
$list['Name'] = $currName;
$list['Studie'] = $row2['Studie'];
if(strcmp($row2['Antwort'],$row2['Korrekt']) == 0)
{
$list["A $i"] = '0';
}
else
{
$list["A $i"] = '1';
}
$i++;
}
if ( !$headerDisplayed ) {
// Use the keys from $data as the titles
fputcsv($fp, array_keys($list));
$headerDisplayed = true;
}
fputcsv($fp, $list);
}
fclose($fp);
残念ながら、これは私がやりたかったことではありません。$list
私の計画では、 (eg$list["A 1"]
または)の各エントリには$list["A 15"]
独自の列があります。そして、 の呼び出しは新しい行を作成し、エントリfputcsv
ごとに 1 つの列を作成する必要があります。予想どおり、各呼び出しで$list
新しい行を作成しますが、完全な配列は最初 (最も左) の列にあります。fputcsv
$list
この問題を解決するにはどうすればよいですか?
追加: 次のようなメッセージが表示されます:
[1,0,0,0,1,1,0,0] [] [] [] [] [] [] []
[1,0,1,1,0,1,0,0] [] [] [] [] [] [] []
[0,1,1,1,1,1,0,1] [] [] [] [] [] [] []
しかし、私が欲しいのはもっと似ています:
[1] [0] [0] [0] [1] [1] [0] [0]
[1] [0] [1] [1] [0] [1] [0] [0]
[0] [1] [1] [1] [1] [1] [0] [1]