thekid23
Messages postés77Date d'inscriptionvendredi 24 novembre 2000StatutMembreDernière intervention28 novembre 2007
-
19 août 2006 à 01:28
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
19 août 2006 à 19:44
cs_jeca
Messages postés341Date d'inscriptionmercredi 17 juillet 2002StatutMembreDernière intervention14 juillet 201114 19 août 2006 à 06:54
Bonjour,
Pour lire lex fichiers 'csv', il y a une fonction : fgetcsv().
D'autre part, la variable '$liste' n'est pas un tableau, et elle est donc écrasée à chaque tour de boucle. En final, il ne reste que la dernière valeur, donc longueur = 1.
Ton code (simplifié) pourrait être comme ça (pas testé) :
<?php
$fichier = 'donnee/Regular Season Schedule.csv';
if(file_exists($fichier))
{
$i = 0;
$fp = fopen("$fichier", "r");
while (!feof($fp))
{
$liste[$i] = fgetcsv($fp, 4096, ',', '"');
$aRemplacer = array('®', '?', '/');
$liste[$i] = str_replace($aRemplacer, '', $liste[$i]);
// Regarde le nombre de colonne //
$resultat = count($liste);
$nb = $resultat ;
echo $resultat ;
}
}
?>
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 19 août 2006 à 19:44
Hello,
si tu regardes bien ton output, tu verras que ton $nb vaut 17 pour toutes les lignes, sauf...la dernière. Parce que ton code lit trop loin : ton fichier csv se finit sur un retour chariot, et la dernière ligne est celle d'après ce retour chariot : elle ne contient rien, aucun champ csv. Ou du moins un champ vide. Et comme tu écrases ton $nb à chaque ligne, jusqu'à la dernière...ben à la dernière, $nb vaut 1 apparemment puisque ton affichage se fait une fois.