euh... au risque de paraître stupide, j'ai pas lu tout ton code mais je vois que tu utilises un INSERT.Hello,
j'ai ici un petit formulaire qui permet d'envoyer un fichier csv sur un table.
Mon problème est que les données s'ajoutent et qu'idéalement elles devraient être remplacées.
<?
switch($action)
{
/* LECTURE ET AJOUT DES DONNEES DANS LA TABLE */
case "ajouter":
/* Variables Local */
$bdd = "cai"; /* Base de données */
$table= "engine_bs";
$host= "localhost"; /* Hote (localhost en principe) */
$user= "root"; /* Utilisateur */
$pass= ""; /* Mot de passe */
/* Connexion bdd */
@mysql_connect($host,$user,$pass) or die("Impossible de se connecter à la base de données");
@mysql_select_db($bdd);
/* Vidange de la table */
if ($erase_all_file)
{
$query1 = "TRUNCATE TABLE `$table`";
$result1= MYSQL_QUERY($query1);
}
/* On ouvre le fichier à importer en lecture seulement */
if (file_exists($fichier))
$fp = fopen("$fichier", "r");
else
{ /* le fichier n'existe pas */
echo "Fichier introuvable !<br>Importation stoppée.";
exit();
}
while (feof($fp)) /* Et Hop on importe */
{ /* Tant qu'on n'atteint pas la fin du fichier */
$ligne = fgets($fp,6144); /* On lit une ligne */
/* On récupère les champs séparés par ; dans liste*/
$liste = explode( ";",$ligne);
/* On assigne les variables */
$nom = $liste[0];
$prenom = $liste[1];
/* Ajouter un nouvel enregistrement dans la table */
$query2 = "INSERT INTO $table VALUES
('','$nom,'$prenom')";
$result = MYSQL_QUERY($query2);
/* On supprime la 1ère ligne (celle qui contient les titres de colones) */
$query3 = "DELETE FROM $table WHERE id LIKE '1'";
$result = MYSQL_QUERY($query3);
/* On supprime les lignes vides (si on a selectionné des cellules vides dans Excel) */
$query4 = "DELETE FROM $table WHERE nom LIKE ''";
$result = MYSQL_QUERY($query4);
if(mysql_error())
{ /* Erreur dans la base de donnees */
print "Erreur dans votre fichier ".mysql_error();
print "<br>Importation stoppée.";
exit();
}
else /* Tout va bien */
echo "-";
}
echo " Importation terminée, avec succès";
/* Fermeture */
fclose($fp);
MYSQL_CLOSE();
break;
/* FORMULAIRE DE CHOIX D'IMPORTATION */
default:
?>
<? echo "<form method=\"post\" action=\"$PHP_SELF\">"; ?>
<div align="center"><b>Sélectionnez le fichier CSV</b><br><br>
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td>Fichier : <input type="file" name="fichier" value="fichier"></td>
</tr>
<tr>
<td align="center">Supprimer les données existantes <input type="checkbox" name="erase_all_file" checked> </td>
</tr>
<tr>
<td align="center"> <input type="submit" name="submit" value="Envoyer"> </td>
</tr>
</table>
<input type="hidden" name="action" value="ajouter">
</form>
</div>
<?
break;
}
?>
Donc à la place de :