laetiheu
Messages postés2Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention26 juillet 2007
-
26 juil. 2007 à 12:08
gewix -
6 nov. 2009 à 12:21
Voilà la situation : je dois faire une interface via php qui permet de faire un import d'un fichier .csv vers une base de donnée mysql deja existante et remplie... J'ai trouvé ce code
Il ne me met pas d'erreur, mais il ne fait rien!! pas d'erreur, il remet la page php mais n'importe rien dans la base de donnée (la table est deja créer dans la bae de donnée)
essayez ce bout de code aprés avoir fait la connexion à la BD:
attention il faut que les colonnes de l'entete du fichier csv aient les memes nom que les chapms de la table(si vous ne voulez pas faire avec cette méthode vous pouvez modifier le code)
if($fp = fopen("$content_dir"."$name_file", 'r')) //$content_dir est le nom du repertoire contenant le fichier et $name_file est le nom du fichier à uploader
{
$cpt_import=0;
$ARRAY[0]=fgetcsv($fp,2000,";"); // saute la 1ere ligne
$DATA[]=$ARRAY[0];
$nbre_ligne=0;
switch($i2)
{
case "0": // Ajouter les données a la table
case "":
while(!feof($fp))
{
$ARRAY[0]=fgetcsv($fp,0,";"); // lire ligne par ligne
$width=sizeof($ARRAY[0]);
if ($ARRAY[0][0]!="") // si ligne pas vide
{
$query="insert into concours_admis (";
for($j=0;$j<$width;$j++)
{
$query .= "{$DATA[0][$j]}";
if ($j != $width-1) $query .= ", ";
}
$query .= ") values ("; // creation 2e partie INSERT
for($j=0;$j<$width;$j++)
{
if ( $ARRAY[0][$j] == "" )
$xls ="";
else
$xls=htmlspecialchars($ARRAY[0][$j], ENT_QUOTES);
$pos=str_pad("c", strlen($j) + 1, $j, STR_PAD_RIGHT);
if ($pos=="1")
{
$jj=substr($xls,0,2);
$mm=substr($xls,3,2);
$aaaa=substr($xls,6,4);
$xls="$aaaa-$mm-$jj";
}
$query .= "'$xls'";
if ($j != $width-1) $query .= ", ";
}
$query .=")"; // ferme l'insertion
$resul=mysql_query($query);
if (!$resul) $html.= "$query<br>Ajout impossible <br>";
$nbre_ligne++;
$cpt_import++;
}
}
break;
}
}
3 juil. 2008 à 13:06
attention il faut que les colonnes de l'entete du fichier csv aient les memes nom que les chapms de la table(si vous ne voulez pas faire avec cette méthode vous pouvez modifier le code)
6 nov. 2009 à 12:21
Question concernant un switch de $i2: il n'est déclaré nul part?