<table border="1">
<thead>
<tr>
<th>Vertriebslinie</th><th>Nr.</th><th>PLZ</th><th>Ort</th>
<th>Strasse</th><th>Marktleiter</th><th>Fleischabtltr.</th>
<th>Telefon</th><th>Telefax</th><th>Email</th>
</tr>
</thead>
<tbody>
<?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);
}
}
echo "<tr>\n";
// die folgende Zeile für alle Spalten, die ausgegeben werden sollen.
echo "<td>" . print $result[0] . "</td>";
echo "<td>" . print $result[1] . "</td>";
echo "<td>" . print $result[2] . "</td>";
echo "<td>" . print $result[3] . "</td>";
echo "<td>" . print $result[4] . "</td>";
echo "<td>" . print $result[5] . "</td>";
echo "<td>" . print $result[6] . "</td>";
echo "<td>" . print $result[7] . "</td>";
echo "<td>" . print $result[8] . "</td>";
echo "<td>" . print $result[9] . "</td>";
echo "</tr>\n";
aber warum steht überall eine 1 beim ergebnis davor und warum steht sky ost über der tabelle und nicht in dem feld
Tja, ich würde ja glatt behaupten, daß der Code, den Du oben geschrieben hast, nicht der ist, der auch folgende Zeile ausgibt:
<tr>Sky Ost</td><td>1398</td><td>119395</td> usw.
Das "Sky Ost" über der Tabelle steht, liegt daran, daß diesem Text das einleitende <td> fehlt. Dafür sehe ich aber wiederum in Deinem Code oben keinen Grund. Wie ja unschwer zu erkennen ist, steht vor allen Ausgaben ein <td>.
Weiterhin wundert mich, daß in Deiner Tabelle zwar elf Datensätze stehen (inklusive verirrtem 2Sky Ost"), aber der Code oben nur neun ausgibt.
Kurz: Irgendwo passt das nicht zusammen.
Für Deine Ausgabe würde ich davon unabhängig eine Schleife benutzen, mit foreach beispielsweise:
echo "<tr>";
foreach ($result as $zelle)
{
echo "<td>". $zelle ."</td>";
};
echo "<tr>\n";
foreach weist hier der Variablen $zelle den Inhalt des jeweils aktuellen Eintrages in $result zu und geht dann eine Position in $result weiter.
Gruß,
soenk.e
Danke, hatte das Problem vorher schon gelöst,
ich habe das Print rausgenommen und es hat funktioniert ohne die 1 und Sky Ost stand auch nicht mehr über der Tabelle.
Nun noch eine Frage,
ich würde gerne in der Eingabeseite, wo die PLZ festgelegt wird, nach der man sucht mehr als einen Wert vorgeben, also es soll nicht nur in Sky Ost,sondern auch West und Ulm gesucht werden.
momentan sieht es so aus
<form action="suche4.php" method="post">
PLZ: <input type="text" name="PLZ" value="" maxlength="5" size="5" /><br />
<input type="hidden" name="Vertriebsl" value="Sky West" />
<input type="submit" name="submit_button" value="Suchen" />