Liebe Forum-Mitglieder,
ich möchte eine Art Suchmaske - also ein Input-Feld mit Suchfunktion erstellen. Im Forum bin ich bereits fündig geworden.
Ich
gebe das Array (csv-Datei) aus und sehe dass nach der ersten Zeile das
Datenfeld nicht geschlossen wird. Wo liegt hier der Fehler?
Hier der Link: http://www.grafikat.at/test.php
Die csv Datei sieht so aus:
Code
PLZ;Ort;Firmenname;Strasse;Hausnummer;Telefonnummer;Website
2000;Stockerau;Musterfirma ;Bahnstrasse;1;02266/000;www.google.at
2104;Spillern;Musterfirma ;Hauptstrasse;4;02266/000;www.meinbezirk.at
1210;Wien;Musterfirma ;Lubeckgasse;23;02266/000;www.gmx.at
1140;Wien;Musterfirma ;Sandgasse;45;02266/000;www.hotmail.com
Weiters möchte ich nicht in der ersten Zeile der csv-Datei suchen sondern in allen vorhandenen Zeilen nach einem Wort suchen.
PHP
<?php
$suchwort = trim( $_POST['inputfeld']);
//alle Fehler anzeigen 0 als wert verwenden wenn nix angezeigt werden soll
error_reporting(E_ALL);
$suchwort = '$inputfeld';
$gefunden = false;
//Wenn Datei geöffnet werden konnte
if ( ($datei = fopen("data.csv", "r")) ) {
//Für jede Zeile die fgetcsv zurückgibt
while ( ($zeile = fgetcsv($datei, 0, ";")) ) {
//Zum veranschaulichen einmal ausgeben (kann dann rausfliegen)
echo "<pre>";
print_r($zeile);
echo "</pre>";
//Wenn der 1. Eintrag ( 0 ) mit dem Suchwort übereinstimmt
if ($zeile[0] == $suchwort) {
//sagen das gefunden wurde
$gefunden = true;
//Dateiauslesen abbrechen
//vorteil -> geschwindigkeit und $zeile kann weiterbenutzt werden
break;
}
}
//Datei schliesen
fclose($datei);
}
//Weiterverarbeiten
//Wenn etwas gefunden wurde
if ($gefunden) {
//Weiter mit der Zeile arbeiten
echo '<table>
<tr>
<td class="Strasse"><b>'.$zeile[3].'</b></td>
<td class="Hausnummer">'.$zeile[4].'</td>
<td class="PLZ">'.$zeile[0].'</td>
<td class="Ort">'.$zeile[1].'</td>
</tr>
</table>';
}
//wenn nichts gefunden wurde oder die Datei nicht geöffnet werden konnte
else{
echo "Leider konnte Kein Auftrag unter dieser Nummer gefunden werden.";
}
?>
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PLZ Suchmaske</title>
<style type="text/css">
table { width:60%; }
body {
margin: 0;
padding: 0;
}
p {
font-family: Droid Serif;
font-size:1em;
padding:0;
margin:0;
}
form {
margin-bottom:10px;
}
#container{
width:300px;
background-color:rgba(0,0,0,0.1);
padding:10px;
}
#searchMask {
margin-top:10px;
}
#plz_txt {
}
#search_btn {
padding-bottom: 7px;
padding-top: 3px;
border-radius: 0;
font-family: "Droid Serif",serif;
font-weight: 700;
transition: all 0.2s ease-in-out 0s;
cursor: pointer;
font-size: 0.8em;
height: 25px;
background: #dae2e8 none repeat scroll 0 0;
border-color: #dae2e8;
}
#ergebnis {
display:none;
margin-top:20px;
}
</style>
</head>
<body>
<div id="container">
<p><b>Suchen Sie den Experten in Ihrer Nähe</b></p>
<form action="<? echo $_SERVER['PHP_SELF'];?>" method = "post">
<p><input name="inputfeld"><input type = "submit" value="Suchen"></p>
</form>
</div>
</body>
</html>
Alles anzeigen
Würde mich freuen wenn mir hier jemand weiterhelfen könnte!
Vielen Dank und liebe Grüße,
mieze