[Tutorial][PHP]Suchfunktion in MySQL-Datenbank
Verfasst: Mo 06 Jun, 2005 18:11
Hiermit geht ein weiteres "Tutorial" von mir online. Es handelt sich dabei um eine einfache Suchfunktion, bei eine Auswahl getroffen werden kann, in welchen Tabellen gesucht werden soll. Als Treffer wird der gesamt Datenbankeintarg ausgegeben, das Suchwort wird dabei farblich markiert.
Fangen wir an:
Erstelle eine Datei namens suche_formular.php mir diesem Inhalt:
OK, dabei handelt es sich um das einfach Formular, indem der Benutzer den Suchbegriff eingibt, und dann auswählt, in welchen Datenbanken gesucht werden soll. Also noch ganz einfach! 
Weiter gehts ...
Neue Datei namens suche.php mit folgendem Inhalt:
Ich habe versucht, alles im Code so gut es geht zu dokumentieren. Bei Fragen, fragt!! 
So, und zum Schluss noch 2 Dateien. Bei denen handelt es sich um dieAusgabe der Ergebnisse. Für jede Datenbank, die durchsucht wurde, ist eine seperate Datei vorgesehen! Daher, weil nur 2 Suchen finktionieren, 2 Dateien!
Erstelle einmal die Datei gefunden_script.php mit dem Inhalt:
Und dann noch gefunden_tut.php mit diesem Inhalt:
OK, das wars! Fertig ist die einfache Suchfunktion ....
Hinweis: Bei dieser Version handelt es sich um eine Version, die ich genau so auf meiner Website eeingesetzt habe. Daher auch die ungewöhnlichen Bezeichnungen und die Unvollständigkeit!
Bei Verständnisproblemen: FRAGEN!!
Dazu bin ich da, und mir macht es Spass!!
Fangen wir an:
Erstelle eine Datei namens suche_formular.php mir diesem Inhalt:
Code: Alles auswählen
Suchbegriff
Welche Datenbanken sollen durchsucht werden?
Scripte:
Forum:
Tutorials:
Specials:
Weiter gehts ...
Neue Datei namens suche.php mit folgendem Inhalt:
Code: Alles auswählen
inhalt; //Alle Wörter der Tabellenzeile einlesen
$daten = strtolower($daten); //Umwandlung in Kleinbuchstaben
$teil = explode(" ", $daten); //Splitten des Strings in einen Array
if (in_array("$suchwort", $teil)) //Durchsuchen des Array nach dem Wort
include("gefunden_script.php"); //Einlesen der "gefunden.htm", welche das Aussehen der Suchergebnisse bestimmt
}
}
if($forum_box == "checkbox"){
echo "Derzeit gibt es noch kein Forum. (Stand: 30.09.2004 19:50)";}
if($tutorials_box == "checkbox"){
$abfrage = "SELECT * FROM $tabname5";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$daten = $row->inhalt; //Alle Wörter der Tabellenzeile einlesen
$daten = strtolower($daten); //Umwandlung in Kleinbuchstaben
$teil = explode(" ", $daten); //Splitten des Strings in einen Array
if (in_array("$suchwort", $teil)) //Durchsuchen des Array nach dem Wort
include("gefunden_tut.php"); //Einlesen der "gefunden.htm", welche das Aussehen der Suchergebnisse bestimmt
$daten = $row->tutorial_inhalt; //Alle Wörter der Tabellenzeile einlesen
$daten = strtolower($daten); //Umwandlung in Kleinbuchstaben
$teil = explode(" ", $daten); //Splitten des Strings in einen Array
if (in_array("$suchwort", $teil)) //Durchsuchen des Array nach dem Wort
include("gefunden_tut.php"); //Einlesen der "gefunden.htm", welche das Aussehen der Suchergebnisse bestimmt
}
}
if($specials_box == "checkbox"){
echo "Derzeit gibt es noch keine Specials. (Stand: 30.09.2004 19:50)";}
}?>So, und zum Schluss noch 2 Dateien. Bei denen handelt es sich um dieAusgabe der Ergebnisse. Für jede Datenbank, die durchsucht wurde, ist eine seperate Datei vorgesehen! Daher, weil nur 2 Suchen finktionieren, 2 Dateien!
Erstelle einmal die Datei gefunden_script.php mit dem Inhalt:
Code: Alles auswählen
Suchergebnisse - Scripte
$suchwort",$part);
echo " $part";}
?>
Code: Alles auswählen
Suchergebnisse - Tutorials
$suchwort",$part);
echo " $part";}
?>
Hinweis: Bei dieser Version handelt es sich um eine Version, die ich genau so auf meiner Website eeingesetzt habe. Daher auch die ungewöhnlichen Bezeichnungen und die Unvollständigkeit!
Bei Verständnisproblemen: FRAGEN!!