

Erreurs dans les csv
Bonjour,
Pour info, j'ai remarqué deux erreurs dans les catalogues csv :
1) l'article 12602 n'existe pas dans la boutique, mais est présent dans le csv "lingerie sexy"
2) il manque les séparation de champs "|" pour les articles 11212, 11211, 11210 et 11209 dans le csv "Bien-être & fun".
Pouvez-vous régler ces petits problèmes afin que nous n'ayons plus d'erreur d'affichage dans nos boutiques perso ?
Merci par avance,
Julie
Hors ligne







Re: Erreurs dans les csv
Salut,
Quand tu n'as pas le bon nombre de champ dans une ligne csv
Comptes le nombre de champs de la ligne et si il ne correspond pas, n'ajoute pas la ligne dans ta base de données
ça évite d'avoir des infos erronées sur le site
Hors ligne


Re: Erreurs dans les csv
pas bête ![]()
mais on fait comment pour compter le nombre de champs d'une ligne ?
(ça serait quand même bien d'avoir des csv justes
)
Hors ligne







Re: Erreurs dans les csv
Tout dépend de quelle manière tu lis le fichier
Si par exemple tu utilises cette méthode :
while($data = fgetcsv($url, 10000, "|"))
{
$nombre=count($data);
}si $nombre ne te retourne pas le bon nombre de champs tu n'ajoutes pas la ligne
Hors ligne


Re: Erreurs dans les csv
j'utilise la méthode qui avait été exposée sur le forum il y a quelques temps... à savoir
while (($data = fgetcsv($handle, 5000, "|")) !== FALSE) {
$num = count($data);
$row++;
$query = "INSERT INTO import_cadeau VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."','". addslashes($data[8]) ."','". addslashes($data[9]) ."','". addslashes($data[10]) ."','". addslashes($data[11]) ."','". addslashes($data[12]) ."','". addslashes($data[13]) ."','". addslashes($data[14]) ."','". addslashes($data[15]) ."','". addslashes($data[16]) ."','". addslashes($data[17]) ."','". addslashes($data[18]) ."','". addslashes($data[19]) ."','". addslashes($data[20]) ."','". addslashes($data[21]) ."');";
mysql_query($query);
}il faudrait que je fasse...
while (($data = fgetcsv($handle, 5000, "|")) !== FALSE) {
$num = count($data);
$row++;
if ($num==21){
$query = "INSERT INTO import_cadeau VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."','". addslashes($data[8]) ."','". addslashes($data[9]) ."','". addslashes($data[10]) ."','". addslashes($data[11]) ."','". addslashes($data[12]) ."','". addslashes($data[13]) ."','". addslashes($data[14]) ."','". addslashes($data[15]) ."','". addslashes($data[16]) ."','". addslashes($data[17]) ."','". addslashes($data[18]) ."','". addslashes($data[19]) ."','". addslashes($data[20]) ."','". addslashes($data[21]) ."');";
mysql_query($query);
}
}c'est juste ?
Hors ligne







Re: Erreurs dans les csv
La méthode que tu indiques est la bonne sauf qu'il me semble qu'il y a 22 champs par ligne et pas 21
En fait, ça va de $data[0] à $data[21] donc il y a 22 champs (avec le 0)
donc il faudrait mettre :
while (($data = fgetcsv($handle, 5000, "|")) !== FALSE) {
$num = count($data);
$row++;
if ($num==22){
$query = "INSERT INTO import_cadeau VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."','". addslashes($data[8]) ."','". addslashes($data[9]) ."','". addslashes($data[10]) ."','". addslashes($data[11]) ."','". addslashes($data[12]) ."','". addslashes($data[13]) ."','". addslashes($data[14]) ."','". addslashes($data[15]) ."','". addslashes($data[16]) ."','". addslashes($data[17]) ."','". addslashes($data[18]) ."','". addslashes($data[19]) ."','". addslashes($data[20]) ."','". addslashes($data[21]) ."');";
mysql_query($query);
}
}Hors ligne
Marque blanche
Dreamstore
Easyflirt
Plateforme
Publicidées
Effiliation
Affilinet
CJ
Zanox
Tradedoubler
Netaffiliation