Vinzenz Mai: Suche wird nicht mehr ausgegeben

Beitrag lesen

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