Export données TABLE SQL vers FICHIER EXCEL

hx.jonathan
WRInaute discret
WRInaute discret
 
Messages: 162
Inscription: 2 Mar 2005

Export données TABLE SQL vers FICHIER EXCEL

Message le Ven Avr 18, 2008 11:51

Bonjour à tous,


J'ai lu attentivement les tutos qui parlent du même sujet mais je ne comprends pas tout.

De mon côté, je cherche à exporter le contenu d'une table sql vers un fichier EXCEL.

Comment puis-je faire simplement ? J'ai vu q'il y a plusieurs méthodes mais je ne comprends pas tout. J'avoue ne pas arriver à trouver une solution simple et efficace.

D'avance merci.

John


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Ven Avr 18, 2008 12:08

utilise phpmyadmin, il y a une option pour exporter en csv ou excel 2000

hx.jonathan
WRInaute discret
WRInaute discret
 
Messages: 162
Inscription: 2 Mar 2005

Message le Ven Avr 18, 2008 12:15

Salut,

Je connais cette fonction mais dans mon cas c'est un formulaire qui est rempli sur un site internet par les clients. Ensuite je dois envoyer ces donnée vers EXCEL. A chaque fois qu'un client s'inscrit à l'aide du formulaire, cela enregistre ces données dans la BDD et DEVRAIT mettre à jour au fur et à mesure le fichier EXCEL afin que les adminsitrateurs du site puisse consulter ce fichier quand ils veulent.

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Ven Avr 18, 2008 12:18

et bien à chaque fois que quelqu'un s'inscrit, tu met à jour un fichier csv sur ton serveur

le fichier csv étant lui meme accessible via une url http pour tes administrateurs.

Maintenant si ca reste de la consultation, tu peux pas faire une page spécialement pour tes admins qui consultent directement en mode web ?

hx.jonathan
WRInaute discret
WRInaute discret
 
Messages: 162
Inscription: 2 Mar 2005

Message le Ven Avr 18, 2008 12:28

Ils veulent garder un fichier EXCEL c'est leur demande.

Pourrais-tu alors me donner le code pour exporter en code php un fichier EXCEL sur base d'une table stp ? Moi je fais ceci pour l'instant:

Code: Tout sélectionner
$req="SELECT * FROM form";
$file = ("inscription_seneffe.xls" ); MON FICHIER ECEL QUE J AI CREE manuellement dans EXCEL
if(!$myfile = fopen($file, "w" )) //on ouvre le fichier
{
print("erreur: " );
print("'$filename' n'existe pas!\n" );
exit;
}
fputs($myfile,"NOM\t PRENOM\t SEXE\t TELEPHONE\t MAIL\n" );
fputs($myfile,"\n" );
while ($resultat=mysql_fetch_array($req))
{

//ecriture
fputs($myfile,"$resultat[0]\t $resultat[1]\t $resultat[2]\t $resultat[3]\t $resultat[4]\n" ); //on insere une tabulation \t pour changer de colonne et un retour chariot \n pour changer de ligne

}
mysql_query($req);
    echo "<br/>".$req;


fclose($myfile);   



J'ai l'erreur suivante :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Ven Avr 18, 2008 12:43

je pense déjà que tu devrais revoir tes bases en mysql :)

tu as oublié de faire le mysql_query
c'est pour cela que ton mysql_fetch_array ne fonctionne pas.

Ensuite si tu essaies d'ajouter du contenu à un fichier excel existant que tu as crée manuellement ?

est ce que ce fichier est au format CSV ou bien c'est un format EXCEL classique
Quand tu l'ouvres dans le bloc-note, tu vois quoi ?


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Ven Avr 18, 2008 13:01

le " mysql_query($req); " est à déplacer avant le "while ($resultat=mysql_fetch_array($req)) "

hx.jonathan
WRInaute discret
WRInaute discret
 
Messages: 162
Inscription: 2 Mar 2005

Message le Ven Avr 18, 2008 13:04

Ok je teste je te dis quoi

hx.jonathan
WRInaute discret
WRInaute discret
 
Messages: 162
Inscription: 2 Mar 2005

Message le Ven Avr 18, 2008 13:12

Voilà j'ai amélioré ce que j'avais en tenant compte de vos remarque .
Code: Tout sélectionner
$id_file=fopen("inscription_seneffe.xls","r+");

$sql2 = mysql_query("SELECT * FROM form")or die(mysql_error());
$rsl=mysql_query($sql2);

while ($result=mysql_fetch_array($rsl)){
fputs($result["ID_INSCR"]."\t",$id_file); // Premier colonne
fputs($result["nominstit"]."\t",$id_file); // Deuxième colonne
fputs($result["contact"]."\t",$id_file); //Troisième colonne
fputs($result["fonction"]."\n",$id_file); // Quatrième colonne
}
fclose($id_file);

echo $sql2;



Cependant j'ai toujours un message d'erreur.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\SEERYX\CL_003_CEZAM\Site\traitement.php on line 488
Resource id #6

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Ven Avr 18, 2008 13:18

tu as un mysql_query en trop :)

tu peux supprimer la ligne
Code: Tout sélectionner
$rsl=mysql_query($sql2);


et remplacer $rsl par $sql2 dans le mysql_fetch_array

hx.jonathan
WRInaute discret
WRInaute discret
 
Messages: 162
Inscription: 2 Mar 2005

Message le Ven Avr 18, 2008 13:27

Voilà j'ai modifié mon code :
Code: Tout sélectionner
$id_file=fopen("inscription_seneffe.xls","r+");

$sql2 = mysql_query("SELECT * FROM form")or die(mysql_error());

while ($result=mysql_fetch_array($sql2)){
fputs($result["ID_INSCR"]."\t",$id_file); // Premier colonne
fputs($result["nominstit"]."\t",$id_file); // Deuxième colonne
fputs($result["contact"]."\t",$id_file); //Troisième colonne
fputs($result["fonction"]."\n",$id_file); // Quatrième colonne
}
fclose($id_file);

echo $sql2;


Le premier message d'erreur à disparu. J'en ai 3 autres. :

Warning: fputs(): supplied argument is not a valid stream resource in D:\SEERYX\CL_003_CEZAM\Site\traitement.php on line 488

Warning: fputs(): supplied argument is not a valid stream resource in D:\SEERYX\CL_003_CEZAM\Site\traitement.php on line 489

Warning: fputs(): supplied argument is not a valid stream resource in D:\SEERYX\CL_003_CEZAM\Site\traitement.php on line 490

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Ven Avr 18, 2008 13:48

dans le fopen c'est pas un 'w' plutot qu'un 'a' ou un 'a+' qu'il faut mettre ?

si j'en crois la doc de fopen http://fr.php.net/fopen
et ce que tu veux faire.


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Ven Avr 18, 2008 13:58

sauf si il réécrit tout le fichier a chaque fois comme c'est le cas semble-t-il

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Ven Avr 18, 2008 14:00

webmasterlamogere a écrit:sauf si il réécrit tout le fichier a chaque fois comme c'est le cas semble-t-il


dans ce cas c'est 'w' ou 'w+' pour écraser le fichier précédent

hx.jonathan
WRInaute discret
WRInaute discret
 
Messages: 162
Inscription: 2 Mar 2005

Message le Ven Avr 18, 2008 14:07

J'essaye mais je pense pas que ce soit ça. :D


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité