Hallo,
ich habe eine CD-Suche mit php geschrieben, wobei eine "Datenbank" auf diese Cd durchsucht wird. Das hat geklappt, wenn ich die "Datenbank" mit einem array-Befehl aufgelistet habe. Jetzt wollte ich die "Datenbank" jedoch aus einer Textdatei einbinden und sortieren, sodass die "Datenbank" durchsucht wird.
abfrage_1.php
<html>
<body>
<form action="auswertung.php" method="post">Suche
<input type="text" name="cd_suche" />
<input type="submit" value="abschicken" /></body></html>auswertung.php
// Das Umkopieren ist überflüssig, verzichte darauf
> $cd = file ( 'sammlung.txt' );
// Wie bereits angemerkt, reicht ein einfaches Sortieren aus
> sort($cd);
> echo "<h2>Wo steckt die verfluchte ". $_POST['cd_suche'] ."-CD?</h2>";
// In einem Array wird etwas gesucht, es bietet sich in der Liste der
// [link:http://de2.php.net/manual/de/ref.array.php@title=Array-Funktionen] die Funktion [link:http://de2.php.net/manual/de/function.array-search.php@title=array_search()] an:
$position = array_search($_POST['cd_suche'], $cd);
// Wenn das Ergebnis [link:http://de2.php.net/manual/de/language.operators.comparison.php@title=identisch] mit dem boolschen Wert false ist
// wurde die CD nicht gefunden,
if ($position !== false) {
// Hurra, wir haben sie:
echo "Status 200: die angeforderte CD ", $_POST['cd_suche'], " wurde an Position $position gefunden.\n";
// Berücksichtige, dass Arrayindizes von 0 an gezählt werden.
// Vielleicht willst Du auf $position noch 1 draufaddieren.
}
else {
// Sag dem Benutzer, dass es die CD in der Liste nicht gab
echo "Status 404: die angeforderte CD wurde in der Datenbank nicht gefunden.\n";
}
Du musst das Rad nicht immer neu erfinden. Heutige Programmiersprachen und Frameworks bringen umfangreiche (Funktions- und Klassen-) Bibliotheken mit, die Du nutzen solltest.
Freundliche Grüße
Vinzenz