Grâce à ce code ci-dessous, je peux exporter un résultat de requête sur une base (en local pour le moment) dans un fichier texte, mais le souci est qu'il est présenté avec les noms des colonnes sur une ligne suivi des résultats , sans retour entre chaque donnée.
/* Attempt MySQL server connection. */
$connection = mysqli_connect($database_server, $database_username, $database_password, $database_name);
// Check connection
if($connection === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$query = "SELECT deg_0,deg_1,deg_2,deg_3,deg_4,deg_5,deg_6,deg_7,deg_8,deg_9,deg_10 FROM degree WHERE id = 1";
$result = mysqli_query($connection, $query);
$number_of_fields = mysqli_num_fields($result);
$headers = array();
for ($i = 0; $i < $number_of_fields; $i++) {
$headers[] = mysqli_field_name($result , $i);
}
$fp = fopen('php://output', 'w');
if ($fp && $result) {
header('Content-Type: text/txt');
header('Content-Disposition: attachment; filename="export.txt"');
header('Pragma: no-cache');
header('Expires: 0');
fputcsv($fp, $headers);
while ($row = $result->fetch_array(MYSQLI_NUM)) {
fputcsv($fp, array_values($row));
}
die;
}
function mysqli_field_name($result, $field_offset)
{
$properties = mysqli_fetch_field_direct($result, $field_offset);
return is_object($properties) ? $properties->name : null;
}
Me retourne ceci : Code : Tout sélectionner
deg_0,deg_1,deg_2,deg_3,deg_4,deg_5,deg_6,deg_7,deg_8,deg_9,deg_10
20,20,20,20,19,19,19,17,17,17,17
En fait, j'aimerais retrouver les résultats ligne par ligne, sans virgule ni espace.
Comment faire ?
Un autre script plus simple disponible ?
Merci