Exporter resultat requete php/mysql a la suite d'un fichier existant

Exporter resultat requete php/mysql a la suite d'un fichier existant - PHP - Programmation

Marsh Posté le 17-05-2005 à 10:02:19    

Bonjour
J'ai un script php tres gourmand en temps.
Jusqu'a maintenant je recuperait pour chaque client toutes ses donnees (issues d'une requete sur une autre table) dans un buffer grace a une boucle de mysql_fetch_row (ce qui prends enormement de tps vu le nombre de lignes) puis l'ecrivait dans un fichier.
Pour optimiser tout cela j'aimerais directement exporter le resultat de ma requete (en bloc et non pas avec une boucle fetch_rows) a la suite du fichier (avec into outfile)
comment faire  
merci

Reply

Marsh Posté le 17-05-2005 à 10:02:19   

Reply

Marsh Posté le 17-05-2005 à 10:05:03    

Bah comme tu las dis, avec into outfile  :??:  
 
Mais c'est quoi d'ailleurs ces trucs là, je connaissais pas.

Reply

Marsh Posté le 17-05-2005 à 10:22:40    

le pb avec into outfile c'est que ca cree un nouveau fichier et moi j'ai besoin d'ecrire a lasuite d'un fichier existant.
Arriver egalement a recuperer tout le resultat de la requete dans un buffer (en bloc sans passer par une boucle) me conviendrait egalement
merci

Reply

Marsh Posté le 17-05-2005 à 10:30:34    

betsamee a écrit :

exporter le resultat de ma requete (en bloc et non pas avec une boucle fetch_rows) a la suite du fichier


tu as lu la doc mysql ? ya tout ce qu'il faut, par exemple avec une commande du genre :

mysql -e "SELECT ..." >> tonfichier


Reply

Marsh Posté le 17-05-2005 à 10:34:58    

oui j'ai lu la doc et je connais cette methode
mais le pb c'est que je suis dans un script php et j'aimerais eviter d'avoir a lancer des shells depuis mon script

Reply

Marsh Posté le 17-05-2005 à 10:49:31    

donc tu peux faire avec into outfile dans un fichier temporaire, puis tu ajoutes le contenu de ce fichier à ton fichier principal, non ?

Reply

Marsh Posté le 17-05-2005 à 11:22:22    

dans la lib DB de PEAR, y'a une fonction getAll() il me semble. Ca peut peut-être t'aider...

Reply

Marsh Posté le 17-05-2005 à 11:32:57    

en fait ce que j'ai fait et qui est quand meme tres rapide c'est ce que soju preconise
je fais mon outfile dans un fichier temp que je concatene a mon fichier par un appel system() puis je l'efface
les perfs sont exceptionnelle!
je passe de 2h15 de module a 54 secondes!!!!
merci a vous

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed