Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

PHP Suchfiunktion

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
ben78
PostRank 4
PostRank 4
Beiträge: 153
Registriert: 30.03.2007, 17:15

Beitrag von ben78 » 25.01.2010, 00:31

Hi Abakusler,

ich habe folgendes Script:

Code: Alles auswählen

<?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. :o

Schonmal THX im Voraus!!!
Zuletzt geändert von ben78 am 25.01.2010, 03:22, insgesamt 2-mal geändert.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

nerd
PostRank 10
PostRank 10
Beiträge: 4023
Registriert: 15.02.2005, 04:02

Beitrag von nerd » 25.01.2010, 00:50

Suchen? wo denn? in Bezeichnung, Beschreibung, Marke oder Anbieter? Grundsaetzlich geht das mit "where Bezeichnung LIKE '%".$keyword."%' "; allerdings solltest du ggf. fulltext search auf diesen spalten setzen, sonst wirds eventuell zu langsam, je nachdem wie deine db aussieht...
deine css styles direkt in den code gehackt wird dich spaeter auch noch beissen, mach lieber sowas wie
<td class="text">bescheibung 1</td>
<td class="preis">123.45</td>

ben78
PostRank 4
PostRank 4
Beiträge: 153
Registriert: 30.03.2007, 17:15

Beitrag von ben78 » 25.01.2010, 01:57

Ich habe jetzt folgende Zeile:

Code: Alles auswählen

$sql = "SELECT * FROM `tabelle` WHERE `Bezeichnung` LIKE \'Schuhe\' AND `Beschreibung` LIKE \'Schuhe\' AND `Marke` LIKE \'Schuhe\' AND `Anbieter` LIKE \'Schuhe\' LIMIT 0, 30 "; $db_erg = mysql_query&#40; $sql &#41;;
if &#40; ! $db_erg &#41;
anstelle von folgender Zeile:

Code: Alles auswählen

$sql = "SELECT * FROM `tabelle` WHERE `Bezeichnung` LIKE \'%".$keyword."%'\' AND `Beschreibung` LIKE \'%".$keyword."%'\' AND `Marke` LIKE \'%".$keyword."%'\' AND `Anbieter` LIKE \'%".$keyword."%'\' LIMIT 0, 30 "; $db_erg = mysql_query&#40; $sql &#41;;
if &#40; ! $db_erg &#41;
Eingefügt.

Ich bekomme immer als Fehlermeldung folgendes:

Notice: Undefined variable: keyword in /Applications/XAMPP/xamppfiles/htdocs/web-content/mysql/search.php on line 25

und

Notice: Undefined variable: keyword in /Applications/XAMPP/xamppfiles/htdocs/web-content/mysql/search.php on line 25
Ungültige Abfrage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'%%'\' AND `Beschreibung` LIKE \'%%'\' AND `Marke` LIKE \'%%'\' AND `Anbieter` ' at line 1