doomer2 Posté 7 Juin 2008 Posté 7 Juin 2008 Bonjur à tous, Je possède actuellement un fichier txt avec 3 champs séparés par des | J'ai donc fait un petit script pour afficher dans un tableau $content=file_get_contents('test.txt','r');$content=explode("\n", $content);for($i=0;$i<sizeof($content);$i++){ $content[$i] = explode("\t", $content[$i]);}print_r($content); Le problème est que je souhaiterais inséré les champs de chaque ligne dans une table sql. Comment faire cela ? Merci à vous
KnockedMaster Posté 7 Juin 2008 Posté 7 Juin 2008 Salut doomer2, Ta connexion est ouverte ? Tes tables créées et opérationnelles ? Si c'est le cas, tu peux boucler sur le tableau et insérer la ligne à chaque passage (il y a peut-être plus optimisé mais je ne connais que cette façon de faire) : foreach ($content as $ligne){ $enregistrement = mysql_real_escape_string($ligne); $sql = ("INSERT INTO ma_table (nom_champ) VALUES ('$enregistrement')"); $query = mysql_query($sql);} Voili grosso modo ça doit être suffisant ...
Galdon Posté 8 Juin 2008 Posté 8 Juin 2008 Voici l'algo : ouvrir fichier pour chaque ligne du fichier explode (pour récupérer la ligne dans un tableau) insérer les champs dans la base de données fin pour fermer fichier La fonction pour lire une ligne de fichier est fgets(), au premier appel elle lit la première ligne, au second appel elle lit la seconde ligne et ainsi de suite jusqu'à la fin du fichier. http://www.siteduzero.com/tuto-3-172-1-lir....html#ss_part_3
Phongsaly Posté 9 Juin 2008 Posté 9 Juin 2008 (modifié) A adapter : CODE <?php $content = file_get_contents( 'test.txt', 'r' ); $content = explode( "\n", $content ); foreach( $content as $ligne ) { $ligne = explode( "|", $ligne ); $sql = 'INSERT INTO table (champ1, champ2, champ3) VALUES (\''.$ligne[0].'\', \''.$ligne[1].'\', \''.$ligne[2].'\');' mysqli_query( [LIEN_SQL], $sql ); echo( "<br />Executée : ".$sql ); } ?> Py. Modifié 9 Juin 2008 par Phongsaly
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant