bonjour
comment faire pour convertir des tables sql en csv ?
sans utiliser les fonctions de sql. c'est destiner a des personnes qui ne connaissent absolument rien en sql.
existe t'il un programme qui le fasse?
Code : Tout sélectionner
SELECT ... INTO OUTFILE//connection database
...
//requetes
"SELECT champ1, champ2 FROM ta_table";
//var qui récupère toutes les données
$data = "";
$data = "champ1, champ2 \n\r"; // \n\r pour passer une ligne
if($result=mysql_query($sql,$db){
while($row = mysql_fetch_object($result)){
$data .= "$row->champ1, $row->champ2\n\r";
}
}
//ecriture dans un fichier
$file = "mon_dossier/mon_fichier.csv";
$sockfile = fopen($file ,"w");
fputs ($sockFile, $data);
fclose($sockFile);
J'ai volontaire omis de mettre toutes les verifications ( si on peut ouvrir le fichier ou non, acces a la base de données, etc...) mais tu pourras les rajouterSalut,
tu peux faire une requete sur ta base et ensuite ecrire un fichier.csv que tu sauves dans la racine de ton comparateur de prix.
Une simple page en php fera l'affaire.
Ensuite cette page par exemple tu l'appelles par exemple tous les soirs à une heure fixe via un cron sur ton serveur qui met a jour ton fichier.
Exemple
J'ai volontaire omis de mettre toutes les verifications ( si on peut ouvrir le fichier ou non, acces a la base de données, etc...) mais tu pourras les rajouter//connection database ... //requetes "SELECT champ1, champ2 FROM ta_table"; //var qui récupère toutes les données $data = ""; $data = "champ1, champ2 \n\r"; // \n\r pour passer une ligne if($result=mysql_query($sql,$db){ while($row = mysql_fetch_object($result)){ $data .= "$row->champ1, $row->champ2\n\r"; } } //ecriture dans un fichier $file = "mon_dossier/mon_fichier.csv"; $sockfile = fopen($file ,"w"); fputs ($sockFile, $data); fclose($sockFile);
Ensuite sur ton serveur web, tu fais un cron
sur la console:
#crontab -e
0 19 * * * lynx url_de_ton_script.php
et voila ton script est executé tous les jours à 19 et génère un fichier .csv
bon courage
Si des interrogations persistent, n'hesite pas