Comparaison fichier plat/BdD en php

Fermé
rootscap Messages postés 1 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 4 octobre 2004 - 4 oct. 2004 à 10:45
 phpff - 14 avril 2009 à 00:46
bonjour,

Je fait des "insert" dans ma base BdD ( Mysql) a partir d'un fichier plat. Je n'ai pas de souci ... par contre je n'arrive a faire de delete quand il y a plus de donnée dans ma base que dans le fichier. Je n'arrive pas a pondre les boucle qui scrute ma base et qui la compare a mon fichier.
ci dessous le code d'insert. Je pense qu'il faut juste faire m'inverse mais cela ne fonctionne pas.

/* On ouvre le fichier à importer en lecture seulement */
$fichier="F:\gnbmatew";
//$fichier="H:\pris_wso\gnbmatews.txt";
if (file_exists($fichier)){
$fp = fopen("$fichier", "r");
}
else{
/* le fichier n'existe pas */
echo "Fichier introuvable !<br>Importation stoppée.";
exit();
}
/* Tant qu'on n'atteint pas la fin du fichier */

while (!feof($fp)){
$ligne = fgets($fp,4096); /* On lit une ligne, fgets renvoie une ligne du fichier, de taille maximale 4096 */

/* On récupère les champs séparés par ; dans liste*/
$liste = explode( ";",$ligne);
/* on regarde si l'enregistrement n'est pas dans la base de données */

$query="select line from matews where produit='$liste[1]' and schema='$liste[6]' and rangement='$liste[8]'";
$result=mysql_query($query);
$val=mysql_num_rows($result);

if ($val==0){/* si l'enregistrement n'y est pas je l'enregistre */
/* On assigne les variables */
$a= $liste[0];
$b= $liste[1];//produit
$c= $liste[2];
$d= $liste[3];
$e= $liste[4];
$f= $liste[5];
$g= $liste[6]; // schema
$h= $liste[7]; //MATERIEL TYPE
$i= $liste[8]; //rangement
$query2 ="INSERT INTO matews(line,produit,codetester,typetester,programme,testnum,schema,materieltype,rangement)";
$query2.="VALUES('$a','$b','$c','$d','$e','$f','$g','$h','$i')";
$result2=mysql_query($query2);
}
else{$mat++;
}
}

Merci de votre aide
Un petit developpeur perdu !!!
A voir également:

1 réponse

Un framework pour lire les fichiers plats : http://www.phpff.com
1