Php insert

Fermé
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 - Modifié par audi68 le 22/06/2011 à 19:46
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 - 26 juin 2011 à 11:18
Bonjour a tous,


Je veux inserer mes données d un fichier txt dans ma base de données

J arrive a lire le fichier et en recuperer les données

Par contre je coince sur l insertion dans la base

voici mon code actuelle
<?php
$row = 1;
if (($handle = fopen("montxt.txt", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, "|")) !== FALSE) {
$num = count($data);
echo "<p> $num champs à la ligne $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>




Merci de votre aide

1 réponse

myrami Messages postés 1 Date d'inscription jeudi 23 juin 2011 Statut Membre Dernière intervention 23 juin 2011
23 juin 2011 à 01:09
Je pense que ceci pourrait fonctionner (dsl je n'ai pas testé) :

<?php
$row = 1;
$connexion = @mysql_connect('serveur', 'login', 'pass');
if (is_resource($connexion))
{
if (@mysql_select_db('base_de_donnees', $connexion))
{
if (($handle = fopen("montxt.txt", "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, "|")) !== FALSE)
{
$num = count($data);
echo "<p> $num champs à la ligne $row: <br /></p>\n";

$row++;

// IL faut adapter ici la requete à la structure de ta table
$requete = 'insert into table(champ1, champ2, champ3...) values (';

for ($c=0; $c < $num; $c++)
{
$requete .= '"'.addslashes($data[$c]). '", ';
}
$requete = rtrim($requete, ', ').')';

// On execute ensuite la requete
mysql_query($requete, $connexion);
}
fclose($handle);
}
}
mysql_close($connexion);
}
?>


En esperant que cela puisse t'aider...
0
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9
23 juin 2011 à 17:56
Merci de ta reponse mais ca ne fonctionne pas

Il ne s insert pas dans ma base et aucune erreur

J ai apporter quelques modif


<?php
$row = 1;
$connexion = @mysql_connect(mes pass);
if (is_resource($connexion))
{
if (@mysql_select_db('ma table', $connexion))
{
if (($handle = fopen("mon.txt", "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, "|")) !== FALSE)
{
$num = count($data);
echo "<p> $num champs à la ligne $row: <br /></p>\n";

$row++;
echo $data[$c] . "<br />\n";
// IL faut adapter ici la requete à la structure de ta table
$requete = 'insert into ma table (id, ref_num_vo, marque, modele, finition, boite_vitesses, couleur, couleur_interieure, carburation, carrosserie, nb_portes, km, options, immat, chassis, prix_public, puiss_fiscale, date_M.E.C, garantie, photos) values (';

for ($c=0; $c < $num; $c++)
echo $data[$c] . "<br />\n"; // rajout du echo
{
$requete .= '"'.addslashes($data[$c]). '", ';
}
$requete = rtrim($requete, ', ').')'or die(mysql_error());; //rajout erreur sql

// On execute ensuite la requete
mysql_query($requete, $connexion);
}
fclose($handle);
}
}
mysql_close($connexion);
}
?>

merci de ton aide
0
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9
26 juin 2011 à 11:18
personne pour m aider?
0