Bonjour tout le monde,
J'ai trouvé ce code pour envoyer mes données vers un fichier .csv
Le problème est que le fichier s'ouvre mais rien ne s'y écrit.
Auriez-vous une idée d'où pourrait provenir l'erreur ?
Voici le code (ce code, je l'ai modifié) :
et voici le code des deux librairies :
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 <?php require_once("csv.lib.php"); require_once("dbmysql.class.php"); define("DB_NAME", "pharma"); define("DB_HOST", "localhost"); define("DB_USER", "root"); define("DB_PASS", "mdp"); $db = new DbMySQL(DB_HOST, DB_NAME, DB_USER, DB_PASS); $db->connect(); $cvs_array = $db->select("SELECT * FROM `inscrits_en` LEFT JOIN `etudiants` ON ( inscrits_en.MATRICULE_ET = etudiants.MATRICULE_ET ) WHERE MNEMONIC = '".$_POST['idmnemonics']."' AND TYPE_DE_COURS = '".$_POST['id_types']."' AND CATEGORIE = '".$_POST[ 'id_categories']."' ORDER BY NOM_ET, PRENOM_ET"); $db2csv = new export2CSV(",","\n"); $csv = $db2csv->create_csv_file($cvs_array); header("Content-type: application/eml"); header("Content-Disposition: attachment; filename=mysql_users.csv"); echo $csv; ?>
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 <?php class export2CSV{ var $delimiter = ","; var $row_end = "\n"; function exportDb2CSV($delimiter,$row_end){ $this->delimiter = $delimiter; $this->row_end = $row_end; } function create_csv_file_header($data) { $row = ""; if (count($data)>0){ foreach ($data[0] as $key=>$val) { if ($row){ $row .= $this->delimiter . $key; }else{ $row .= $key; } } $row .= $this->row_end; } return $row; } function create_csv_file_row($row) { $res = ""; foreach ($row as $key=>$val) { if ($res){ $res .= $this->delimiter .'"'. $val.'"'; }else{ $res .= '"'.$val.'"'; } } $res .= $this->row_end; return $res; } function create_csv_file($data) { $csv = $this->create_csv_file_header($data); foreach ($data as $key=>$val){ $csv .= $this->create_csv_file_row($val); } return $csv; } } ?>Merci d'avance pour votre aide.
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115 <?php class DbMySQL{ var $host = ''; var $login = ''; var $pass = ''; var $name = ''; var $db_link = null; var $error_report = true; var $sql = ''; function DbMySQL($tHost, $tName, $tLogin, $tPass) { $this->host = $tHost; $this->name = $tName; $this->login = $tLogin; $this->pass = $tPass; } function connect() { $this->db_link = mysql_connect($this->host, $this->login, $this->pass); if ($this->db_link){ if(mysql_select_db($this->name)){ return true; } } return false; } function _query($tSql) { $this->sql = $tSql; $res = mysql_query($tSql, $this->db_link); if (mysql_errno($this->db_link)>0){ $this->show_error(); } return $res; } function select($tSql) { $result = array(); $res = $this->_query($tSql, $this->db_link); if($res){ while ($row = mysql_fetch_assoc($res)){ $result[] = $row; } }else { return false; } return $result; } function select_row($tSql) { $result = array(); $res = $this->_query($tSql, $this->db_link); if ($res){ $tmp = mysql_fetch_assoc($res); if (is_array($tmp)){ $result = $tmp; } }else{ return false; } return $result; } function query($tSql) { $res = $this->_query($tSql, $this->db_link); return $res; } function insert($tSql) { $res = $this->_query($tSql, $this->db_link); $last_insert_id = 0; if (mysql_errno($this->db_link)==0){ $last_insert_id = mysql_insert_id($this->db_link); } return $last_insert_id; } function close() { return mysql_close($this->db_link); } function get_last_error() { return mysql_error($this->db_link); } function error() { return array( 'error' => $this->get_last_error(), 'sql' => $this->sql ); } function show_error() { if ($this->error_report){ $str = $this->get_last_error(); echo "Mysql error: [$str] in query: [{$this->sql}]\n"; }else{ //echo "While nothing..."; } } } ?>
beegees
Partager