Bonjour,

- Je rempli ou met à jour une table nommée "stock" par le biais d'un script php qui vient lire un fichier csv : Cette étape est parfaitement ok.

- La table "stock" contient les champs suivants :
ref | code_article | designation | stock

- Mon problème :
Il arrive dans le fichier csv, que certaines lignes n'apparaissent plus (en fait, lorsque le stok est à 0 ou bien que l'article ne se fait plus, la ligne n'est plus retranscrie dans le fichier csv)

- Mon but :
Comparer le contenu de la table "stock" avec le contenu du fichier csv, par le biais du champ "code_article". Et donc si le fichier csv ne contient plus ce "code_article" alors détruire la ligne du "code_article" dans la table "stock".

Quelqu'un aurait-il une idée pour réaliser celà ?
Merci de votre intérêt !


----------------------------------------------------------------
- Voici le script php mis en place :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// ouverture du fichier en lecture
if (file_exists(stocks.csv))
 $fp = fopen("$nom_fichier", "r");
else{
 echo "Fichier introuvable !<br>Importation stoppée.";
 exit();
}

// importation
while (!feof($fp)){
 $ligne = fgets($fp,4096);
 $liste = explode(";",$ligne);
$ref = $liste[0];
$code_article = $liste[1];
$designation = $liste[2];
$stock  = $liste[3];

// Lecture de la table
$sql = "SELECT code_article FROM stock WHERE code_article='$code_article'";
$resultat = mysql_query($sql);
$row = mysql_num_rows($resultat);

// Si le "code_article" n'existe pas, on l'insère
if ($row == 0) {
$sql2 = "INSERT INTO stock VALUES(\"$ref\",\"$code_article\",\"$designation\",\"$stock\")";

// Sinon on le met à jour
} else  {
$sql2 = "UPDATE stock SET stock = '$stock' WHERE code_article='$code_article'";

// On ferme le tout
}
$resultat2 = mysql_query($sql2);
}
fclose($fp);
mysql_close();