Bonjour,

Je souhaite exporter mes données issues de ma base de données vers un document excel, comment faire ? Mon problème est de faire une boucle pour remplir mes cases.

Ci joint mes codes :

config.php qui contient ma connexion à la base et mes requêtes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
//On se connecte a la base de donnee
mysql_connect('localhost', 'root', '');
mysql_select_db('tangram');
 
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select username,name,surname from tb_user ');
$dn = mysql_fetch_array($req);

mon fichier ou je crée mon fichier excel :

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
<?php 
include('config.php');
 
 
set_time_limit(300);
 
require_once 'Spreadsheet/Excel/Writer.php';
 
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setTempDir('./tempdoc');
$workbook->send('base.xls');
$worksheet = $workbook->addWorksheet();
 
$worksheet->write(0,0,'Login');
$worksheet->write(0,1,'Name');
$worksheet->write(0,2,'Surname');
$worksheet->write(0,3,'Assessor');
$worksheet->write(0,4,'Date');
$worksheet->write(1,0,$dn['username']);
$worksheet->write(1,1,$dn['name']);
$worksheet->write(1,2,$dn['surname']);
 
$workbook->close();
$workbook->sendFile();
 
?>
ma création de tableau à part en php à partir de ma base de données :

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
<?php
$sql = 'SELECT * FROM tb_user'; 
 
ini_set('mysql.trace_mode', true); 
 
mysql_connect('localhost', 'root', ''); 
mysql_select_db('tangram'); 
mysql_set_charset('utf8'); 
$result = mysql_query($sql); 
 
if(false !== $result) 
{ 
    if(mysql_num_rows($result) > 0) 
    { 
        echo '<table border="1">'; 
        $row = mysql_fetch_assoc($result); 
 
        echo '<tr><th>', implode('</th><th>', array_keys($row)), '</th></tr>';        
        do 
        { 
            echo '<tr><td>', implode('</td><td>', $row), '</td></tr>'; 
        } 
        while($row = mysql_fetch_row($result)); 
 
        echo '</table>'; 
    }  
    mysql_free_result($result);     
}?>
J'avais un problème avec mon fichier de création de fichier excel, quand j'y faisais figurer mes requêtes, cela ne fonctionnait pas c’est pourquoi je les ai mis dans un fichier config.
Mais si je rajoute une autre case $worksheet->write(1,0,$dn['username']); il me réaffiche le meme utilisateur et non les autres dans ma base de données.
De plus comment faire pour "automatiser la lecture de ma base" et remplir automatiquement à l'aide de boucles qui contiendrait le nombre de valeurs extraites...