Tout fonctionne parfaitement, mais j'ai rencontré un problème lors de l'exportation de données vers un fichier CSV. J'ai essayé de chercher des problèmes similaires, mais je n'ai pas trouvé tout ce qui pourrait être pertinent à mon problème.Sortie CSV sur plusieurs colonnes
Ce code est supposé exporter la base de données entière de la base de données mySQL. Il le fait parfaitement mais la chose est, il met toutes les données dans la première colonne - dans des cellules différentes. Le placement des cellules est correct mais il est supposé répartir les données sur plusieurs colonnes (13 dans mon cas).
Voici la capture d'écran est d'expliquer ce qui se passe:
code:
<?php
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: filename=export.csv");
#$query=mysql_query("set names 'utf8'");
#mb_http_output('UTF-8');
#mb_http_input('UTF-8');
#mb_language('uni');
#mb_regex_encoding('UTF-8');
#ob_start('mb_output_handler');
#header('Content-type: text/html; charset=utf-8');
$conn = mysql_connect('localhost', 'root', 'asdasd') or die(mysql_error());
mysql_select_db('nooruse', $conn) or die(mysql_error($conn));
$query = sprintf('SELECT osakond as Osakond, soetusaasta as Soetusaasta, it_number as IT_Number, tooteruhm as Tooteruhm, mudeli_nimetus as Mudeli_nimetus, sn as SN, riigivara_nr as Riigivara_nr, inventaari_nr as Inventari_nr, maja as Maja, ruum as Ruum, vastutaja as Vastutaja, markus as Markus,kasutajanimi as Kasutajanimi FROM norse5_proov');
$result = mysql_query($query, $conn) or die(mysql_error($conn));
$row = mysql_fetch_assoc($result);
if ($row) {
echocsv(array_keys($row));
}
while ($row) {
echocsv($row);
$row = mysql_fetch_assoc($result);
}
function echocsv($fields)
{
$separator = '';
foreach ($fields as $field) {
if (preg_match('/\\r|\\n|,|"/', $field)) {
$field = '"' . str_replace('"', '""', $field) . '"';
}
echo $separator . $field;
$separator = ',';
}
echo "\r\n";
}
Merci à l'avance.
Selon moi, le code ci-dessus fonctionne correctement.Vous devez vérifier votre délimiteur csv dans Excel ....... –