tjours prob avec fgetcsv .. + clair

tjours prob avec fgetcsv .. + clair - PHP - Programmation

Marsh Posté le 14-04-2005 à 19:33:08    

bonjour,
 
j'essaye "en vain" de mettre à jour un BD mysql avec un fichier csv  
en utilisant la function fgetcsv  
 
quand je fais :  
 
while ($data = fgetcsv ($fichier, 4096, ";" )) {
    $num = count ($data);
    print "<p> $num champs dans la ligne $row: <br>\n";
    $row++;
    for ($c=0; $c < $num; $c++) {
        print $data[$c] . "<br>\n";
    }
}
 
toutes les lignes de mon fichier(508).csv s'affichent correctement avec pour chacune les 10 champs du style :  
 
10 champs dans la ligne 114:  
114
ANGLAISE
Comédie
12
2001
France
2h03
Eric ROHMER
Jean-Claude DREYFUS, Lucy RUSSELL, Françoise LARTHOURET
Sous la Révolution Française, le cousin du roi de France, duc d’Orléans vit une relation avec Grace Elliott, une aristocrate écossaise. La jeune femme, fervente adepte du système monarchique, ne parvient pas à concilier ses sentiments pour le duc avec les choix politiques de celui-ci, qui a voté pour la mort du roi.
 
j'essaye de faire la même chose en modifiant la ligne print par un insert dans la base, c'est à dire :  
 
 while ($data = fgetcsv ($fichier, 4096, ";" )) {
    $num = count ($data);
    print "<p> $num champs dans la ligne $row: <br>\n";
    $row++;
    for ($c=0; $c < $num; $c++) {
$query = "insert into $table VALUES('$data[$c]')" ;
$ok = mysql_query($query);  
   }
}
 
les insertions se font bien jusqu'au numéro 508 sauf que je n'ai en tout que 366 enregistrements car des lignes sont zappées.. et en essayant de trouver une explication : pourquoi telle ou telle ligne n'es tpas prise en compte je ne vois aucune raison (les contenus de champs sont exactement semblables à celle prises en compte ..) et ces mêmes lignes zappées apparaissent pourtant quand je fais le print - elles sont donc bien vues et interprétées par fgetcsv..
 
je suis preneur de toutes idées .. refléxions .. cela fais longtemps que je cherche  
 
merci
joshua
 

Reply

Marsh Posté le 14-04-2005 à 19:33:08   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed