J'ai fait mon script pour envoyer les données de mysql sur un fichier excel.
Mais je ne sais pas comment faire pour que l’utilisateur clique sur un bouton et envoyer exécuter le script.
voici le script (si vous le trouvez nul dites le moi!!!!!!
<?
define("FILENAME","E:\\TestExcel\\phpexcel.xls");
$conn=mysql_connect('*******','*******','********') or die('Problème lors de la connexion à la BD MYSQL');
mysql_select_db('phpexcel',$conn) or die('Problème lors de la sélection de la BD MYSQL');
$res=mysql_query("SELECT DATE_APPEL,NOM_CLIENT,XID_CLIENT FROM APPELS_CLIENTS INNER JOIN CLIENTS ON ID_CLIENT=XID_CLIENT ORDER BY XID_CLIENT,DATE_APPEL") or die('Problème lors de la réception des enregistrements');
if(mysql_num_rows($res)>0){
if(file_exists(FILENAME)){
unlink(FILENAME);
}
$excel=new COM("Excel.application");
$excel->sheetsinnewworkbook=1;
$excel->Workbooks->Add();
$book=$excel->Workbooks(1);
$sheet=$book->Worksheets(1);
$sheet->Name="Rapport appel des clients";
$j=64;
$jj=64;
$client_prec=0;
$nombre_ligne=0;
while($row=mysql_fetch_object($res)){
if($client_prec != $row->XID_CLIENT){
$j++;
$i=3;
if($nombre_ligne>0){
$lignes[]=$nombre_ligne;
$nombre_ligne=0;
}
if($jj==64){
$cell=$sheet->Range(chr($j).'1');
}
else{
$cell=$sheet->Range(chr($jj).chr($j).'1');
}
$cell->value=$row->NOM_CLIENT;
$cell->HorizontalAlignment=-4108;
$cell->Font->ColorIndex = 41;
}
$nombre_ligne++;
if($jj==64){
$cell=$sheet->Range(chr($j).$i);
}
else{
$cell=$sheet->Range(chr($jj).chr($j).$i);
}
if(chr($j)=='Z'){
$jj++;
$j=64;
}
$cell->value=$row->DATE_APPEL;
$cell->NumberFormat="jj/mm/aaaa hh:mm:ss";
$client_prec=$row->XID_CLIENT;
$i++;
}
}
else{
die('Les tables sont vides ou pas de jointure possible');
}
$lignes[]=$nombre_ligne;
$sorted=$lignes; //on copie le nombre d'enreg par client dans un autre tableau
sort($sorted); // on trie cet autre tableau
$max_val=5+$sorted[count($sorted)-1]; // on récupère le plus grand nombre de record, pour pouvoir aligner les résultat dans Excel
$colonne=65;
$colonne2=64;
for($i=0;$i<count($lignes);$i++){
if($colonne2>64){
$cell=$sheet->Range(chr($colonne2).chr($colonne).$max_val);
}
else{
$cell=$sheet->Range(chr($colonne).$max_val);
}
if(chr($colonne)=='Z'){
$colonne2++;
$colonne=64;
}
$cell->value="Total: ".$lignes[$i];
$cell->HorizontalAlignment=-4108;
$cell->Font->ColorIndex=3;
$colonne++;
}
$book->saveas(FILENAME);
unset($sheet);
unset($book);
$excel->Workbooks->Close();
$excel->Quit();
unset($excel);
?>
MERCI