Pflaumenaugust: Ergebnisoptimiertung

Beitrag lesen

hallo,
dieser php-code verhilft mir dazu eine PLZ eingabe in einer .csv Datei durchzuführen und ich kriege alle geschäft einer kette angezeigt.
die ergebnisse sind aber noch nicht optimal.
schön wäre es, wenn die 5 besten ergebnisse oberhalb und 5 unterhalb meiner abfrage angezeigt werden würden.
hier mein code.
gesucht wird im radius von 1000.
die ergebnisse sind aber noch zu ungenau.
irgendeine idee

<?php
$row = 1;
$fp = fopen ("filialen.csv","r");
$max_diff = $HTTP_POST_VARS['PLZ'] = 1000;
$stack_of_results=array();
while ($data = fgetcsv($fp, 1000, ";"))
 {
  //Nur bei allen Vertriebslinie nachschauen
if($HTTP_POST_VARS['Vertriebsl'] == 'alle')
  {
    $key=abs($data[2] - $PLZ);
    if ($key < $max_diff)
      $stack_of_results[$key][]=$data;
  }
  //Nur bei einer bestimmten Vertriebslinie nachschauen
  if(substr($data[0],0,3) ==  substr($HTTP_POST_VARS['Vertriebsl'],0,3))
  {
    $key=abs($data[2] - $PLZ);
    if ($key < $max_diff)
      $stack_of_results[$key][]=$data;
  }
 }
ksort($stack_of_results);
$output = array_slice($stack_of_results,0 , 10);
foreach($output as $k => $v)
 {
  echo "<tr>";
  for($j=0;$j<=8;$j++)
   {
     {if($j!=1)

if($j!=5)
      if($j!=7)

echo "<td>".$v[0][$j]." </td>";
   }
}
   echo "</tr>";
 }

?>

</tbody>
</table>
<?php
if (!$stack_of_results)
{
  echo "In Ihrer Nähe befindet sich leider keine Filiale";
}
?>