Aller au contenu

Fichier texte avec insertion sql


Sujets conseillés

Posté

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

Posté

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 ...

Posté

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

Posté (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é par Phongsaly

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...