0

このコードは、Excel 内で開かれる csv ファイルにデータをエクスポートします。

文字列にコンマが含まれていると、データの順序が乱れます。

以下のコードを変更して、コンマを含む文字列を解決し、文字列の後まで新しい列を作成しないようにするための助けが必要です。

二重引用符内の各文字列または文字列を含むものを渡すと想定しているため、それらの引用符内のコンマは例外になります。

どんな助けでも大歓迎です。

$result = mysql_query("select lname, fname, email, dtelephone, etelephone, contactwhen, comments, thursday, 
friday, saturday, sunday, monday FROM volunteers_2010");

$csv_output .= "Last Name,First Name,Email,Telephone (Day),Telephone (Evening),Contact When,Comments,Thursday,Friday,Saturday,Sunday,Monday,Comments\n";

$i = 0;
if (mysql_num_rows($result) > 0) {
 while ($row = mysql_fetch_assoc($result)) {
  $csv_output .= $row['Field'].", ";
  $i++;
 }
}
$csv_output .= "\n";

$values = mysql_query("SELECT lname, fname, email, dtelephone, etelephone, contactwhen, comments, thursday, 
friday, saturday, sunday, monday FROM volunteers_2010 WHERE venue_id = $venue_id");

while ($rowr = mysql_fetch_row($values)) {
 for ($j=0;$j<$i;$j++) {
  $csv_output .= $rowr[$j].", ";
 }
 $csv_output .= "\n";
}
4

3 に答える 3

3

fputcsv()

于 2010-06-12T19:55:44.043 に答える
3

ウィキペディアの記事を参照

カンマが埋め込まれたフィールドは、二重引用符で囲む必要があります

于 2010-06-12T19:55:49.360 に答える
2

正しい形式: "test", "test,", "use double "" quotes inside"

1回目のループ:

$csv_output .= '"' . str_replace('"', '""', $rowr['Field']) . '", ';

2 番目のループ:

$csv_output .= '"' . str_replace('"', '""', $rowr[$j]) . '", ';
于 2010-06-12T20:37:25.110 に答える