Vollpfosten: ich mal wieder, möchte gerne mehrere ergebnisse haben

Beitrag lesen

huhu,
das mit dem ksort bekomme ich nicht hin

Huhu Vollpfosten

ich würde gerne mehr als ein ergebnis aus meiner abfrage bekommen
das script lautet:
<?php
$row = 1;
$fp = fopen ("filialen.csv","r");
$diff = 10000;
while ($data = fgetcsv($fp, 1000, ";")) {
//Nur bei einer bestimmten Vertriebslinie nachschauen
if ($data[0] != $Vertriebsl) continue;
//Den besten Treffer merken
if (abs($data[2] - $PLZ) < $diff) {
$result = $data;
$diff = abs($data[2] - $PLZ);
}
}

wie kriege ich das nun hin, das z.B. 5 ergebnisse die der Abfrage am nahesten liegen ausgegeben werden und nicht wie momentan unter
www.vizacon.de/coop/php.html nur eines

Du kannst $result als array benutzen und dann hängst Du in Deinem if-Zweig immer ein Ergebnis an

$result[]=$data;

Dann bekommst Du alle Treffer < $diff

Wenn Du die besten 5 haben möchtest könntest Du einen Key benutzen
$key=$diff;
$result[$key]=$data;

Dann ksort, und die ersten 5 Elemente abholen.

Damit der $key unique ist noch eine Laufvariable oder ID mit eincodieren.

So ungefähr.

Noch besser eine Datenbank benutzen.

Viele Grüße

lulu