am 28.04.2008 um 13:56 Uhr
|





11x bewertet
In diesem Tutorial zeige ich euch, wie ihr mittels PHP eine Suchfunktion, wie hier auf Giatu erstellen könnt. Ihr könnt damit eine beliebige Datenbank nach einem Suchbegriff durchsuchen.
Als erstes brauchen wir ein kleines Suchformular, dass ihr in eine beliebige Seite einbauen könnt. In diesem Beispiel nehmen wir einfach mal die index.php:
Mit action="index.php?action=suchen" wird auf der index.php die Aktion "suchen" aufgerufen, die wir nun erstellen.
Die Suchfunktion sollte vor dem Formular stehen. Am Besten schreibt ihr sie an den Anfang der Datei:
Als erstes wird die Verbindung zu eurer Datenbank aufgebaut. Dort müsst ihr dann noch die entsprechenden Verbindungsdaten angeben.
Wenn also das Formular abgeschickt wurde (action gegeben ist und suchen aufgerufen wurde) und das Feld, in dem der Suchbegriff eingegeben wird nicht leer ist, wird die Suchabfrage gestartet.
In unserem Beispiel fragen wir die Tabelle "tutorials" ab. Es werden alle Einträge aus der Tabelle gesucht, die im "titel" oder im "text" ein ähnliches Wort wie den Suchbegriff enthalten. Das addslashes(strip_tags($_REQUEST["suche"]) ist unser Suchbegriff (Wichtig: Das addslashes() schützt euch vor einer MySQL Injection!). Das % vor und nach dem Suchbegriff sorgt dafür, dass uns nachher auch Ergebnisse geliefert werden, wo noch etwas davor oder dahinter steht.
Ich hoffe das war soweit verständlich. Falls ihr noch Fragen dazu habt, stellt sie ruhig. ;)
Vorraussetzung für diese Suchfunktion ist, dass ihr eine Datenbank mit einer Tabelle habt, die ihr durchsuchen lassen wollt.
Was Du brauchst:
Als erstes brauchen wir ein kleines Suchformular, dass ihr in eine beliebige Seite einbauen könnt. In diesem Beispiel nehmen wir einfach mal die index.php:
<form action="index.php?action=suchen" method=post name="suche">
<input class="input" type="text" name="suche" value="" id="suche"/>
<input type=submit value="Suchen" class="suchesubmit"/>
</form>
Mit action="index.php?action=suchen" wird auf der index.php die Aktion "suchen" aufgerufen, die wir nun erstellen.
Die Suchfunktion sollte vor dem Formular stehen. Am Besten schreibt ihr sie an den Anfang der Datei:
<?php
$sqlhost = "";
$sqluser = "";
$sqlpassword = "";
$sqldb = "";
mysql_connect($sqlhost,$sqluser,$sqlpassword) or die ("Keine
Verbindung möglich"); mysql_select_db($sqldb) or die ("Die Datenbank
existiert nicht");
if($_REQUEST["action"] == "suchen" && !empty($_REQUEST["suche"]))
{
$abfrage = "SELECT * FROM tutorials WHERE titel LIKE
'%".addslashes(strip_tags($_REQUEST["suche"]))."%' OR text LIKE
'%".addslashes(strip_tags($_REQUEST["suche"]))."%'";
}
$ergebnis = mysql_query($abfrage);
?>
Als erstes wird die Verbindung zu eurer Datenbank aufgebaut. Dort müsst ihr dann noch die entsprechenden Verbindungsdaten angeben.
Wenn also das Formular abgeschickt wurde (action gegeben ist und suchen aufgerufen wurde) und das Feld, in dem der Suchbegriff eingegeben wird nicht leer ist, wird die Suchabfrage gestartet.
In unserem Beispiel fragen wir die Tabelle "tutorials" ab. Es werden alle Einträge aus der Tabelle gesucht, die im "titel" oder im "text" ein ähnliches Wort wie den Suchbegriff enthalten. Das addslashes(strip_tags($_REQUEST["suche"]) ist unser Suchbegriff (Wichtig: Das addslashes() schützt euch vor einer MySQL Injection!). Das % vor und nach dem Suchbegriff sorgt dafür, dass uns nachher auch Ergebnisse geliefert werden, wo noch etwas davor oder dahinter steht.
Ich hoffe das war soweit verständlich. Falls ihr noch Fragen dazu habt, stellt sie ruhig. ;)
12 Kommentare
wow das ging ja schnell gleiche zeit den wunsch gestellt & gleiche zeit den wusch erfüllt muhahaha xD super tut ^.^
Nekoji
Danke, ihr beiden!@Pinoy: Ja, füge ich dann noch im Tutorial hinzu. :)
@Sushi: Lol, habs auch eben gesehen. xD
am 28.04.2008 um 13:58 Uhr
Nekoji
Am besten schreib ich noch ein neues Tutorial über die Abfrage zweier/mehrerer Tabellen. Sehe gerade, dass das auch noch gewünscht wurde.
am 28.04.2008 um 14:07 Uhr
Jaaaaaa
Vielen Dank, dass du meinen Wunsch bearbeitet hast, Nekoji *verbeug*
Vielen Dank, dass du meinen Wunsch bearbeitet hast, Nekoji *verbeug*
am 28.04.2008 um 17:50 Uhr
Xelios
Tolles Tutorial Nekoji! Find's gut, das du gleich mit erwähnst, wie man seine Abfragen sicher machen kann.Fein fein!
am 28.04.2008 um 22:42 Uhr
Sasuke
SUPPPPPPPAAA und wen du noch ein suchtutorial für den Scripts Mitglieder von Delite das wer HAMMER
am 29.04.2008 um 07:17 Uhr
Nekoji
Danke fürs Lob! ^^@Sasuke:
Du durchsuchst in dem Falle einfach die Tabelle "members" nach "name" und/oder "id". Musst mein Beispiel nur anpassen, mehr ist das nicht. ;)
am 29.04.2008 um 14:06 Uhr
stefan
Tolles TuT wirklich ist auch gut erklärt aber anscheinend bin ich zu blöd dafür es hinzu bekommen.
Mein Problem ist das die angefragten Ergebnisse nicht ausgegeben werden und auch bei der url verändert sich nix.
am 26.04.2010 um 23:24 Uhr
















- find ich supi.
Pinoy
wooow geiil !!! hab mal eine frage kann man damit mehrere tabellen absuchen lassen ?? also nicht nur eine ??