Insertion fichier Excel via php a mysql
Posté : 17 nov. 2015, 00:07
Bonjour,
Je voudrai insérer un fichier Excel.csv via php a ma base MySQL mais j'ai 2 soucis
1:-) L'insertion se passe correctement pour la première fois mais si je répète l'action il réinsére les données et crée des doublons alors que je veux qu'il vérifie si l'identifiant existe d'abord et si oui qu'il écrase ou fasse une mise à jour
2:-) comment faire pour gérer une ligne d'entête
Voici mon code
Je voudrai insérer un fichier Excel.csv via php a ma base MySQL mais j'ai 2 soucis
1:-) L'insertion se passe correctement pour la première fois mais si je répète l'action il réinsére les données et crée des doublons alors que je veux qu'il vérifie si l'identifiant existe d'abord et si oui qu'il écrase ou fasse une mise à jour
2:-) comment faire pour gérer une ligne d'entête
Voici mon code
form name="import" method="post" enctype="multipart/form-data">
<input type="file" name="file" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
include ("connection.php");
if(isset($_POST["submit"]))
{
$file = $_FILES['file']['tmp_name'];
$handle = fopen($file, "r");
$c = 0;
while(($filesop = fgetcsv($handle, 1024, ";")) !== false)
{
$req= mysql_query("select * FROM note where idelevenote='".$filesop[0]."' and matierenote='".$filesop[1]."' ");
if(mysql_num_rows($req)==0)
{
$idelevenote = $filesop[0];
$matierenote = $filesop[1];
$note1 = $filesop[2];
$note2 = $filesop[3];
$note3 = $filesop[4];
$compo1 =$filesop[5];
$trim1 = $filesop[6];
$note4 = $filesop[7];
$note5 = $filesop[8];
$note6 = $filesop[9];
$compo2 =$filesop[10];
$trim2 = $filesop[11];
$sql = mysql_query("INSERT INTO note (idelevenote, matierenote, note1, note2, note3, compo1, trim1, note4, note5, note6, compo2, trim2)
VALUES ('$idelevenote','$matierenote','$note1','$note2','$note3','$compo1','$trim1','$note4','$note5','$note6','$compo2','$trim2')");
$c = $c + 1;
}
else{
$idelevenote = $filesop[0];
$matierenote = $filesop[1];
$note1 = $filesop[2];
$note2 = $filesop[3];
$note3 = $filesop[4];
$compo1 =$filesop[5];
$trim1 = $filesop[6];
$note4 = $filesop[7];
$note5 = $filesop[8];
$note6 = $filesop[9];
$compo2 =$filesop[10];
$trim2 = $filesop[11];
$sql="UPDATE note SET note1='".
$note1."', note2='".$note2."', note3='".$note3."',compo1='".$compo1."', trim1='".$trim1."', note4='".
$note4."', note5='".$note5."', note6='".$note6."', compo2='".$compo2."', trim2='".$trim2."'
WHERE idelevenote='".$idelevenote."' AND matierenote='".$matierenote."' ";
}
if($sql){
echo "You database has imported successfully. You have inserted ". $c ." recoreds";
}else{
echo "Sorry! There is some problem.";
}
}
}