Mailinglisten-Archive |
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