2010-11-01 5 views
2

Merci d'avance pour votre temps/aide. Je suis un débutant en train d'apprendre php, alors gardez ça à l'esprit.Le moyen le plus simple de lire un fichier csv en utilisant php, puis sélectionnez une valeur spécifique

Première question J'ai besoin d'un script php qui lit un fichier csv.

2 Question Comment puis-je faire écho une cellule spécifique (ligne et ligne/colonne) dans ce fichier

J'ai trouvé ce script sur une réponse similaire, le script lit le fichier entier parfaitement, mais je veux seulement sélectionnez une cellule/valeur spécifique sur ce fichier csv. Alors, comment puis-je faire écho à une ligne spécifique ou une ligne et une colonne.

$row = 1; 
if (($handle = fopen("1.csv", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     echo "<p> $num fields in line $row: <br /></p>\n"; 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      echo $data[$c] . "<br />\n"; 
     } 
    } 
    fclose($handle); 
} 

Répondre

3

Si vous devez sélectionner plusieurs cas, le meilleur moyen est de créer un tableau multi-dimensionnel en PHP. Sinon, jetez simplement quelques jetons dans vos boucles while et faites.

$row = 1; 
$mycsvfile = array(); //define the main array. 
if (($handle = fopen("1.csv", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     echo "<p> $num fields in line $row: <br /></p>\n"; 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      echo $data[$c] . "<br />\n"; 
     } 
     $mycsvfile[] = $data; //add the row to the main array. 
    } 
    fclose($handle); 
} 

echo $mycsvfile[3][1]; //prints the 4th row, second column. 
+0

Merci. C'est ce que j'avais besoin d'apprendre. – Sarah

0

Nous pouvons créer des champs table et table en fonction de l'en-tête csv avec le script ci-dessous. Au lieu d'imprimer l'en-tête, je veux créer une table avec les champs de la table comme en-tête. Les données dans chaque champ peuvent être varchar (50)

$row = 1; 
if (($handle = fopen("1.csv", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
    $num = count($data); 
     echo "<p> $num fields in line $row: <br /></p>\n"; 
     $row++; 
      for ($c=0; $c < $num; $c++) { 
       echo $data[$c] . "<br />\n"; 
      } 
    } 
    fclose($handle); 
} 
Questions connexes