Question

Mes données sont sorties deux fois et je ne suis pas sûr de savoir pourquoi.Il devrait s'agir d'un fname et de lname par ligne.

<?php

$row = 1;
if (($handle = fopen("nameList1.txt", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, "    ")) !== FALSE) {
        $num = count($data);
        //$result = explode($data);
        echo "<br />\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
                //echo $data[$c];
                echo $data[0];
                echo " ";
                echo $data[1];
        }
    }
    fclose($handle);
}

** * ** ** * ** * ** * **

Nancy AlvordNancy Alvord
Lucy HadacLucy Hadac
Laura LundgrenLaura Lundgren
Judy PigottJudy Pigott
Thomas BayleyThomas Bayley
Barbara BrownBarbara Brown
Aaron DixonAaron Dixon
Jennifer HadlockJennifer Hadlock
Molly AdolfsonMolly Adolfson
Susan AnsteadSusan Anstead
Shannon BraddockShannon Braddock
Isa D’ArleansIsa D’Arleans
Elizabeth DavisElizabeth Davis
William DonnellyWilliam Donnelly

Était-ce utile?

La solution

for ($c=0; $c < $num; $c++) {
    echo $data[0] . " " . $data[1];
}

Comme vous avez 2 données différentes par ligne (FNAME, LName) $ numéro est toujours égal à 2.

Alors deux fois, vous imprimerez $ Data [0] et $ données [1];)

Vous devez faire:

echo $data[0];
echo $data[0];

ou si vous voulez absolument utiliser la déclaration pour:

for ($c=0; $c < $num; $c++) {
    echo $data[$c] . " ";
}

Autres conseils

Essayez ceci

$row = 1;
if (($handle = fopen("nameList1.txt", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, "    ")) !== FALSE) {
    $num = count($data);
    //$result = explode($data);
    echo "<br />\n";
    $row++;
    echo $data[0];
    echo " ";
    echo $data[1];
}
fclose($handle);
}

Essayez ceci:

$file = $_FILES[csv][tmp_name]; 
    $handle = fopen($file,"r"); 

    //loop through the csv file and insert into database 
    do { 
        if ($data[0]) { 
            $record['contact_email'] = $data[2];
            $record['subject'] = $_REQUEST['subject'];
            $record['message'] = $_REQUEST['message'];
            $record['status'] = 0;

            $oAdminEmail->insertQueEmail($record);
            } 
    } while ($data = fgetcsv($handle,1000,",","'")); 

Vous obtenez tous les fichiers CSV deux fois parce que, la boucle pour la boucle tandis que commence de 0 à, il doit être de 1 à 0 à 0 à

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top