Bonjour, je veux récupérer sous forme excel, le contenu d'une table, j'ai trouvé ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
 
$db_host = "";
$db_name = "";
$db_user = "";
$db_pw = "";
mysql_connect($db_host, $db_user, $db_pw) 
OR die ("Cannot connect to your database"); 
mysql_select_db($db_name) OR die("Cannot connect to your database"); 
 
 
 
$result = mysql_query('select * from orders');
$count = mysql_num_fields($result);
 
for ($i = 0; $i < $count; $i++){
    $header .= mysql_field_name($result, $i)."\t";
}
 
 
while($row = mysql_fetch_row($result)){
//"order id" = $row['order_id'];
  $line = '';
  foreach($row as $value){
    if(!isset($value) || $value == ""){
      $value = "\t";
    }else{
//important to escape any quotes to preserve them in the data.
      $value = str_replace('"', '""', $value);
//needed to encapsulate data in quotes because some data might be multi line.
//the good news is that numbers remain numbers in Excel even though quoted.
      $value = '"' . $value . '"' . "\t";
    }
    $line .= $value;
  }
  $data .= trim($line)."\n";
}
//this line is needed because returns embedded in the data have "\r"
//and this looks like a "box character" in Excel
  $data = str_replace("\r", "", $data);
 
 
//Nice to let someone know that the search came up empty.
//Otherwise only the column name headers will be output to Excel.
if ($data == "") {
  $data = "\nno matching records found\n";
}
 
//This line will stream the file to the user rather than spray it across the screen
header("Content-type: application/octet-stream");
 
//replace excelfile.xls with whatever you want the filename to default to
header("Content-Disposition: attachment; filename=excelfile.xls");
header("Pragma: no-cache");
header("Expires: 0");
 
 
echo $header."\n".$data; 
 
?>
le code fonctionne bien sauf que je ne peux pas changer par exemple le titre des columns.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
`orders_id`, `customers_id`, `customers_name`, `customers_company`, `customers_street_address`, `customers_suburb`, `customers_city`, `customers_postcode`, `customers_state`, `customers_country`, `customers_telephone`, `customers_email_address`, `customers_address_format_id`, `delivery_name`, `delivery_company`, `delivery_street_address`, `delivery_suburb`, `delivery_city`, `delivery_postcode`, `delivery_state`, `delivery_country`, `delivery_address_format_id`, `billing_name`, `billing_company`, `billing_street_address`, `billing_suburb`, `billing_city`, `billing_postcode`, `billing_state`, `billing_country`, `billing_address_format_id`, `payment_method`, `cc_type`, `cc_owner`, `cc_number`, `cc_expires`, `last_modified`, `date_purchased`, `orders_status`, `orders_date_finished`, `currency`, `currency_value`
comme par example pour order_id mettre [Ordre ID] et ça s'affiche sur le fichier excel.

cordialement grazianno.