salut,
pour commencer des commentaire sur le code existant
[quote="LuckyVJ">
$connexion = mysql_pconnect (localhost,Lucas,bonomi);
mysql_select_db (lucas, $connexion);
[/quote]
tu a réellement des constante localhost,Lucas, bonomi (définie avec define()) dans ton fichier connection.php ?
Par rien que la ton script doit t'afficher des erreurs comme quoi ces constantes ne sont pas définies. tu va me dire ro ben wé mais ça fonctionne, oui parce que php est très permissif et pas trop con finalement et va se dire tiens c'est p'tet des chaines de caractère je les utilise ainsi mais je balance un warning pour la forme ...
donc je pense que le code serais plutot
$connexion = mysql_connect ('localhost','Lucas','bonomi');
mysql_select_db ('lucas', $connexion);
oui j'ai virer le p dans le connect car tu pas forcément d'une connexion permanente et y a des chances qu'un hébergeur limite ce comportement (parce que la connexion est ouverte une fois pou rune page c'est suffisant et que les hébergeurs limite les connections simultané au sgbd ce qui peut être gênant de les garder ouvert, et contre performant peut être).
WHERE 1 totalement inutile est abérent c'est comme si tu demandais à ton boulanger une baguette mais une baguette ...
$id = $_GET['ID'];
$raison = $_GET['raison_sociale'];
et le paté qui vient, est une source d'erreur potentielle car tu ne peut être certain que le visiteur ai remplis tout les chmps (ne me parle pas de validation JS c'est inutile coté sécurité puisque désactivable coté client c'est juste 'un confort' pour le 'client').
donc il serait bien d'utiliser une série de
empty /
isset pour sécuriser le tous
Warning:header already sent....' => c'est typique l'erreur quand on n'a pas bien lu
la doc de la fonction header (je l'ai faite aussi). ceci est du à l'envoi de quelque chose avant le header.
O_o je pige pas ???
la sortie (envoi vers le navigateur) est commencer dès que php pense avoir un truc à afficher. Ca peut être un echo / print ou n'importe qu'elle fonction qiu affiche, mais aussi du html dans le code (donc en dehors de <?php ?>) et donc par extension tous ce qui est en dehors des tags php, ça peut être un espace en début fin de ligne / fichier, la classique ligue vide en fin de fichier etc. Ah oui l'affichage d'une erreur php dû au point expliquer avant (sur le connect) font aussi afficher ce message puisse qu'au final c'est un affichage et
dans le code que tu a mis php envoie au navigateur dès la 1ère ligne (doctype).
Pour forcer le téléchargement d'un fichier tu utilise la fonction header donc il ne faut rien de tous ce que j'ai mis au dessus avant.
Après pour construire un fichier csv, finalement c'est simple, ce n'est que des champ séparé par des , ou des ; (attention à ne pas en avoir dans les champs) ce qui au final est très simple avec la fonction
fputcsv
pour l'envoie du fichier tu a un exemple (le 1er) dans la doc de la fonction
header à toi de trouver le bon type mime
ensuite tu n'est pas obligé de créer le fichier sur ton disque pour l'envoyer (ce qui au final est une perte de temps et une pollution du disque à mon gout

)
tu formate tes champs et à la place du readfile un simple echo de la variable qui contient tout
essai avec tous ça et si tu buche revient avec ton code qui te pose soucis (parce que celui que tu à mis n'exporte aucun fichier

)
@+
Il en faut peu pour être heureux ......