Francis62 Posté 13 Juillet 2007 Posté 13 Juillet 2007 Coucou tout le monde, Voici mon problème que j'essai de régler depuis ce matin! Je dois lire dans ma BDD et récupérer toute les lignes d'un table puis je dois les mettre dans un fichier qui a chaque champs doit mettre un point virgule et a chaque requete un retour a la ligne. Tout marche sauf le retour de ligne. voici mon code: require('includes/config.sql.bkdl');//se connecte a la bdd$resQuery = mysql_query("SELECT * FROM t_commande");if (mysql_num_rows($resQuery) != 0) { $fichier = fopen("sauvegarde_BDD_commande.txt","w"); while ($arrSelect = mysql_fetch_array($resQuery, MYSQL_ASSOC)) { foreach($arrSelect as $elem) { fwrite($fichier,html_entity_decode($elem).';');//Ecrire un champs et le fini pour un point virgule } fwrite($fichier,$Ligne." \n");//On saute une ligne } fclose($fichier);}
NorSeb Posté 13 Juillet 2007 Posté 13 Juillet 2007 Bonjour, Pourquoi ne pas d'abord fabriquer ta ligne en concaténant les éléments puis l'écrire une fois pour toute ? require('includes/config.sql.bkdl');//se connecte a la bdd$resQuery = mysql_query("SELECT * FROM t_commande");if (mysql_num_rows($resQuery) != 0){ $fichier = fopen("sauvegarde_BDD_commande.txt","w"); while ($arrSelect = mysql_fetch_array($resQuery, MYSQL_ASSOC)) { $ligne = ""; foreach($arrSelect as $elem) { $ligne .= html_entity_decode($elem).';'; //Ecrire un champs et le fini pour un point virgule } $ligne .= "\n"; fwrite($fichier,$ligne);//On saute une ligne } fclose($fichier);}
binarygirl Posté 13 Juillet 2007 Posté 13 Juillet 2007 Apparemment vous voulez exporter une table au format CSV Il serait plus efficace d'utiliser SELECT INTO OUTFILE http://dev.mysql.com/doc/refman/4.1/en/select.html (anglais) NB: l'utilisateur mySQL doit avoir le privilège 'FILE' pour cela.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant