pmadfm
09-28-2007, 10:08 AM
Bonjour,
Voici un exemple d'import de fichier csv dans Mysql, il reste bien sur à l'adapter à votre table en modifiant les éléments du mapping.
Cet exemple charge des tables de catégories et de sites dans un script d'annuaire : Utilisable, à vous de l'adapter à vos besoin.
<?php
// IMPORTATOIN DE LA TABLE DES CATEGORIES !1ERE VERSION!
include("connectSite.php");
$db = ouvreBase($SQLhost, $SQLuser, $SQLpass, $SQLbase);
//include("../includes/connect.php");
// variables
$fichier = "categorie.csv";
echo("V1 $SQLbase<BR>");
$db = mysql_connect($SQLhost,$SQLuser,$SQLpass) or die("Impossible de se connecter la base de donnees");
mysql_select_db($SQLbase);
//mysql_query("DELETE FROM categories_v2", $db);
// ouverture du fichier en lecture
if (file_exists($fichier))
$fp = fopen("$fichier", "r");
else{ // fichier inconnu
echo "Fichier introuvable !<br>Importation stoppe.";
exit();
}
// importation
while (!feof($fp)){
$ligne = fgets($fp,4096);
$liste = explode(";",$ligne); // on cree un tableau des elements separe par point virgule
$id = $liste[0];
$id_cat_mere = $liste[1];
$cat_name = $liste[2];
$texte = $liste[3];
$activation = $liste[4];
$position = $liste[5];
$can_add = $liste[6];
$query = "INSERT INTO categories_v2 VALUES('$id','$id_cat_mere','$cat_name','$texte',' $activation','$position','$can_add');";
$result= mysql_query($query, $db);
if (mysql_error()){
echo "Erreur dans la base de donnees soit des virgule sont presente, soit votre hebergeur vous lock<br> ou tou simplement pour l'erreur suivante : ".mysql_error();
echo "<br>Importation stope !";
fclose($fp);
exit();
}else{
echo "$cat_name | $texte
<br>";
}
}
echo "<br>Importation termine, avec succes";
?>
<?
// IMPORTATOIN DE LA TABLE DES SITES !1ERE VERSION!
// variables
$fichier = "sites.csv";
echo("V1 $SQLbase<BR>");
$db = mysql_connect($SQLhost,$SQLuser,$SQLpass) or die("Impossible de se connecter la base de donnees");
mysql_select_db($SQLbase);
//mysql_query("DELETE FROM sites_v2", $db);
// ouverture du fichier en lecture
if (file_exists($fichier))
$fp = fopen("$fichier", "r");
else{ // fichier inconnu
echo "Fichier introuvable !<br>Importation stoppe";
exit();
}
// lors de l'importation faite gaffe au point virgule dans les commentaires car ca va vous décaler l'import
// importation
while (!feof($fp)){
$ligne = fgets($fp,4096);
$liste = explode(";",$ligne); // on cree un tableau des elements separe par point virgule
$id = $liste[0];
$id_cat = $liste[1];
$titre = $liste[2];
$description = $liste[3];
$url = $liste[4];
$url_image = $liste[5];
$nom_proprio = $liste[6];
$email_proprio = $liste[7];
$date_validation = $liste[8];
$activation = $liste[9];
$niveau = $liste[10];
$nb_clics = $liste[11];
$moyenne_votes = $liste[12];
$nb_votes = $liste[13];
$nb_com = $liste[14];
$query = "INSERT INTO sites_v2 VALUES('$id','$id_cat','$titre','$description','$u rl','$url_image','$nom_proprio','$email_proprio',' $date_validation','$activation','$niveau','$nb_cli cs','$moyenne_votes','$nb_votes','$nb_com');";
$result= mysql_query($query, $db);
if (mysql_error()){
echo "Erreur dans la base de donnees soit des virgule sont presente, soit votre hebergeur vous lock <br> ou tout simplement pour l'erreur suivante : ".mysql_error();
echo "<br>Importation stope";
fclose($fp);
exit();
}else{
echo "$url | $titre
<br>";
}
}
echo "<br>Importation termine, avec succes.";
fclose($fp);
mysql_close($db);
?>
Voici un exemple d'import de fichier csv dans Mysql, il reste bien sur à l'adapter à votre table en modifiant les éléments du mapping.
Cet exemple charge des tables de catégories et de sites dans un script d'annuaire : Utilisable, à vous de l'adapter à vos besoin.
<?php
// IMPORTATOIN DE LA TABLE DES CATEGORIES !1ERE VERSION!
include("connectSite.php");
$db = ouvreBase($SQLhost, $SQLuser, $SQLpass, $SQLbase);
//include("../includes/connect.php");
// variables
$fichier = "categorie.csv";
echo("V1 $SQLbase<BR>");
$db = mysql_connect($SQLhost,$SQLuser,$SQLpass) or die("Impossible de se connecter la base de donnees");
mysql_select_db($SQLbase);
//mysql_query("DELETE FROM categories_v2", $db);
// ouverture du fichier en lecture
if (file_exists($fichier))
$fp = fopen("$fichier", "r");
else{ // fichier inconnu
echo "Fichier introuvable !<br>Importation stoppe.";
exit();
}
// importation
while (!feof($fp)){
$ligne = fgets($fp,4096);
$liste = explode(";",$ligne); // on cree un tableau des elements separe par point virgule
$id = $liste[0];
$id_cat_mere = $liste[1];
$cat_name = $liste[2];
$texte = $liste[3];
$activation = $liste[4];
$position = $liste[5];
$can_add = $liste[6];
$query = "INSERT INTO categories_v2 VALUES('$id','$id_cat_mere','$cat_name','$texte',' $activation','$position','$can_add');";
$result= mysql_query($query, $db);
if (mysql_error()){
echo "Erreur dans la base de donnees soit des virgule sont presente, soit votre hebergeur vous lock<br> ou tou simplement pour l'erreur suivante : ".mysql_error();
echo "<br>Importation stope !";
fclose($fp);
exit();
}else{
echo "$cat_name | $texte
<br>";
}
}
echo "<br>Importation termine, avec succes";
?>
<?
// IMPORTATOIN DE LA TABLE DES SITES !1ERE VERSION!
// variables
$fichier = "sites.csv";
echo("V1 $SQLbase<BR>");
$db = mysql_connect($SQLhost,$SQLuser,$SQLpass) or die("Impossible de se connecter la base de donnees");
mysql_select_db($SQLbase);
//mysql_query("DELETE FROM sites_v2", $db);
// ouverture du fichier en lecture
if (file_exists($fichier))
$fp = fopen("$fichier", "r");
else{ // fichier inconnu
echo "Fichier introuvable !<br>Importation stoppe";
exit();
}
// lors de l'importation faite gaffe au point virgule dans les commentaires car ca va vous décaler l'import
// importation
while (!feof($fp)){
$ligne = fgets($fp,4096);
$liste = explode(";",$ligne); // on cree un tableau des elements separe par point virgule
$id = $liste[0];
$id_cat = $liste[1];
$titre = $liste[2];
$description = $liste[3];
$url = $liste[4];
$url_image = $liste[5];
$nom_proprio = $liste[6];
$email_proprio = $liste[7];
$date_validation = $liste[8];
$activation = $liste[9];
$niveau = $liste[10];
$nb_clics = $liste[11];
$moyenne_votes = $liste[12];
$nb_votes = $liste[13];
$nb_com = $liste[14];
$query = "INSERT INTO sites_v2 VALUES('$id','$id_cat','$titre','$description','$u rl','$url_image','$nom_proprio','$email_proprio',' $date_validation','$activation','$niveau','$nb_cli cs','$moyenne_votes','$nb_votes','$nb_com');";
$result= mysql_query($query, $db);
if (mysql_error()){
echo "Erreur dans la base de donnees soit des virgule sont presente, soit votre hebergeur vous lock <br> ou tout simplement pour l'erreur suivante : ".mysql_error();
echo "<br>Importation stope";
fclose($fp);
exit();
}else{
echo "$url | $titre
<br>";
}
}
echo "<br>Importation termine, avec succes.";
fclose($fp);
mysql_close($db);
?>