phpbar.de logo

Mailinglisten-Archive

[php] PHP Handling CSV ohne DB

[php] PHP Handling CSV ohne DB

=?iso-8859-1?Q?Christoph_M._Sch=F6nian?= schoenian_(at)_online.de
Sun, 4 Jun 2000 21:59:41 +0200


Hallo Liste

Was mache ich nur falsch,
dass ich noch nie eine Antwort auf meine Fragen erhalten habe ?
Nu denn - einen weiteren Versuch!

Trotz eingehendem Studiums des Archivs, habe ich noch ungelöste Probleme:
Ich möchte eine CSV AdressDatei:
1. sortieren und 2. durchsuchen können, die mir u.a. eine gesuchte
PLZ ausgibt und falls nicht vorhanden, die 5-6 nächstgelegenen.

Inzwischen bin ich mit dem Script so weit gekommen,
stoße aber auf die Schwierigkeit, wie ich 1. die Sortierung
bewerkstellige und noch wichtiger die Suchfunktion weiter schreiben kann.

Über jede Hilfe freue ich mich sehr!
Christoph Schoenian


--------------
DIE ERSTEN 3 ZEILEN DER test.csv
------------------------------
ID,FIRMA,NAME,VORNAME,STRASSE,TELEFON,FAX,MAIL,WWW,ORT,PLZ,BRANCHE
"1","Lebensmittel/ Feinkost Herbert Gross GmbH & Co. KG","Gross","Herbert",
"Feldstraße 9","88555","88333","Hgross_(at)_gross.de","http://www.gross.de",
"Musterhausen","33333","Lebensmittel"
"2","Fleischerei & CO. KG","Grassmann","Heinz Harald","Wannseefeld
99","876546","876547",
"Grassmann_(at)_t-online.de","http://www.grassmann.de","Grashausen","11111","Lebe
nsmittel"
"3","Beauty-Studio","Gross","Anneliese","Anneliese","Feldstraße
10","88222","88222-0",
"Agross_(at)_gross.de","http://www.gross.de","Musterhausen","33333","Koerperpfleg
e"
etc. etc. etc
------------------------------PHP teil des
scripts---------------------------
<?php

$filename = "test.csv";

    $row=1;
    $fp = fopen($filename, "r") or DIE( "Unable to open file: $filename");
    print  "<table width=\"600\" border=\"1\">\n";

//################## Suche.... Start #####################

if(IsSet($search)) {

$th[0] = "ID";      $th[1]  = "FIRMA";   $th[2]  = "NAME";
$th[3] = "VORNAME"; $th[4]  = "STRASSE"; $th[5]  = "TELEFON";
$th[6] = "FAX";     $th[7]  = "MAIL";    $th[8]  = "WWW";
$th[9] = "ORT";     $th[10] = "PLZ";     $th[11] = "BRANCHE";

    $data = fgetcsv($fp,1000,  ",");
     $num = count($data);
        echo "<TR>";
        for ($c=0; $c<$num; $c++) {
             print  "<TH><A HREF=\"$PHP_SELF?sort=$data[$c]\">".$data[$c].
"</a></TH>\n"; }
        echo "</TR>\n";

   while ($daten = fgetcsv($fp, 4096, ","))
        // (diese Daten muessten irgenwie noch gesplittet..., um erkannt zu
werden)
        if(($daten[0]==$search) || ($daten[1]==$search) ||
($daten[2]==$search) || ($daten[10]==$search)) //siehe oben
        // gibt Herrn Gross (als erstes Vorkommens) aber nicht Frau Gross
        break;

        if ($daten == '') {
          echo "<td align=center colspan=12 bgcolor=\"#00AFAF\"><b>Sorry,
der Begriff: ";
          echo "[ <font color=red>$search</font> ] entspricht keinem
gültigen Suchkriterium!</b></td>\n"; exit; }
        else
        { reset($daten); }
        echo "<TR>";

        while (list($k, $v)=each($daten))
        {
        echo "<TD>" . $v . "</TD>"; //läßt keine mehrfachen Ausgaben zu
(siehe Name=Gross)
        }
        echo "</TR>\n";
} else {

//#################### Suche.... Ende ####################

    while ($data = fgetcsv($fp,1000,  ",")) {
        $num = count($data);
    if ($row == '1') {
        $row++;
        for ($c=0; $c<$num; $c++) print  "<TH><A
HREF=\"$PHP_SELF?sort=$data[$c]\">".$data[$c]. "</a></TH>\n";
    } else {
        $row++;
        print  "<TR>";
                for ( $c=0; $c<$num; $c++ ) print  "<TD>".$data[$c] .
"</TD>";
        print  "</TR>\n";
        }
    }
} // else end
    fclose($fp);
?>



php::bar PHP Wiki   -   Listenarchive