Eléphanteau du PHP |
32 Messages
21 mars 2011, 23:04
J'ai modifié mon fichier entre temps:
$requete2="SELECT * from magret"; // requête proprement dite
$result2 = mysql_query($requete2) or die(mysql_error()); // envoi de la requête
$handle = fopen ($directory.'magret.csv',"r");
while ($data = fgetcsv ($handle, 0, ":")) {
if ($data[0] != 'PROF') {
$count='0';
echo $count;
while($row = mysql_fetch_array($result2)) {
if (($row['CLASSE'] == $data[0]) && ($row['NOM'] == $data[1]) && ($row['PRENOM'] == $data[2]) && ($row['LOGIN'] == $data[4]) && ($row['MDP'] == $data[6]) ) $count=$count++;
}
if ($count =='0') {
$requete = "INSERT INTO magret (classe,nom,prenom,login,mdp,uid_ent) VALUES ('$data[0]','$data[1]','$data[2]','$data[4]','$data[6]','')";
$result = mysql_query($requete) or die(mysql_error());
}
}
}
fclose ($handle);
Mais je ne comprends pas pourquoi il ne boucle qu'une fois.
Pour moi, voilà ce qu'il fait:
il regarde la 1ere ligne du csv ( while ($data = fgetcsv ($handle, 0, ":")) { )
puis il regarde si cette ligne se retrouve dans la table. Si c'est le cas il incrémente mon compteur.
Si le compteur est resté à 0, il inserère la ligne dans la table.
Puis il recommence avec la 2nde ligne. etc...
Non?