Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „PHP Suchfunktion“

Ben78

Nicht mehr ganz neu hier

Hi PSD'ler,

ich habe folgendes Script:

PHP:
<?php
...?>

Ich möchte jetzt eine Suchfunktion einbauen. Also so, dass man in einem Suchfeld ein Suchbegriff eingeben kann, wonach dann die die MySQL-DB durchsucht wird.

Wenn jemand z. B. Schuhe eingibt, dann sollen alle Datensätze aus der MySQL-Tabelle die irgendwas mit dem Begriff Schuhe zu tun haben in bestehender HTML-Tabelle ausgespuckt werden.

PLEASE CAN SomeBody HELP??? Ich hocke schon seit zwei Tage und Nächte da.:motz:

Schonmal THX im Voraus
 
Zuletzt bearbeitet:

saila

Moderatorle

AW: PHP Suchfunktion

Hi,

ich geb dir mal einen Tipp, wie du das ganz schnell umsetzen kannst. Du hast sicherlich phpMyAdmin. Nun rufst du in deiner Datenbank auf die von dir erstellte Datenbank. Dann gehe auf Suchen (oben) und gebe einen Suchbegriff ein. Egal ob etwas gefunden wird oder nicht, du siehst danach wie der Query hierfür aufgebaut wurde.

Einfach kopieren und fertig ist deine Suchfunktion.
 

Ben78

Nicht mehr ganz neu hier

AW: PHP Suchfunktion

Danke für den guten Tipp.

Das habe ich jetzt mal gemacht. Nur bin ich in sachen php noch ganz frisch. Könntest Du mir vielleicht noch verraten, an welcher Stelle der kopierte Code in meinem Script eingefügt werden muss.

Oder muss ich die Zeile:

PHP:
$sql = " SELECT Abbildung, Bezeichnung, Beschreibung, Marke, Preis, Anbieter FROM beauty LIMIT 10"; $db_erg = mysql_query( $sql );
if ( ! $db_erg )

mit dem kopierten...
PHP:
$sql = "SELECT * FROM `tabelle` WHERE `Bezeichnung` LIKE \'Schuhe\' AND `Beschreibung` LIKE \'Schuhe\' AND `Marke` LIKE \'Schuhe\' AND `Anbieter` LIKE \'Schuhe\' LIMIT 0, 30 ";
...ersetzen?

Und welche Zeichen kommen anstelle von Schuh in den Code, sodass nach der Sucheingabe im Suchfeld gesucht werden kann.?
 

Kaede

Nicht mehr ganz neu hier

Code:
$sql = "SELECT * FROM `tabelle` WHERE `Bezeichnung` LIKE \'Schuhe\' AND `Beschreibung` LIKE \'Schuhe\' AND `Marke` LIKE \'Schuhe\' AND `Anbieter` LIKE \'Schuhe\' LIMIT 0, 30 ";
du musst \'Schuhe\' mit deiner Suchvariablen aus dem Formular ersetzen... also $_POST['searchquery'] oder $_GET['s'] oder wie auch immer du die Anfrage übergibst. Und sinnvoll sind auch %-Zeichen als Wildcards.

Prinzipiell funktioniert es auch immer gut, einfach das MySQL-Statement aus pma zu kopieren, also ohne vorher den PHP-Code generieren zu lassen, und das dann in doppelten Anführungszeichen zu verwenden. Ist meistens leichter zu handhaben, weil du in einem String mit doppelten Anführungszeichen Variablen ohne Punkte und andere Dinge nutzen kannst.
 

Ben78

Nicht mehr ganz neu hier

AW: PHP Suchfunktion

In meinem Formular habe ich

HTML:
<form action="./mysql/search.php" method="post">

stehen.

Und jetzt in meinem PHP-Script folgenden Zeile:

PHP:
$sql = "SELECT * FROM `datenbank`.`tabell` WHERE (`ID` LIKE \'%$_POST['searchquery']%\' OR `Abbildung` LIKE \'%$_POST['searchquery']%\' OR `Bezeichnung` LIKE \'%$_POST['searchquery']%\' OR `Beschreibung` LIKE \'%$_POST['searchquery']%\' OR `Marke` LIKE \'%$_POST['searchquery']%\' OR `Preis` LIKE \'%$_POST['searchquery']%\' OR `Anbieter` LIKE \'%$_POST['searchquery']%\')"; $db_erg = mysql_query( $sql );
if ( ! $db_erg )

Jetzt bekomme ich folgende Fehlermeldung:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Applications/XAMPP/xamppfiles/htdocs/web-content/mysql/search.php on line 25
 

saila

Moderatorle

AW: PHP Suchfunktion

PHP:
$sql = 'SELECT * FROM datenbank.tabell WHERE (ID LIKE "'. mysql_real_escape_string(%$_POST['searchquery']%\' OR `Abbildung` LIKE \'%$_POST['searchquery']%\' OR `Bezeichnung` LIKE \'%$_POST['searchquery']%\' OR `Beschreibung` LIKE \'%$_POST['searchquery']%\' OR `Marke` LIKE \'%$_POST['searchquery']%\' OR `Preis` LIKE \'%$_POST['searchquery']%\' OR `Anbieter` LIKE "'%$_POST['searchquery']% .'"'; 
$db_erg = mysql_query( $sql ); 
if ( ! $db_erg ) {

} else {

}

Weitere Infos, wie ein Query aufgebaut ist, findest du unter PHP: Hypertext Preprocessor
</span></span>
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben