Anzeige

PHP Suchfunktion

PHP Suchfunktion | PSD-Tutorials.de

Erstellt von Ben78, 25.01.2010.

  1. Ben78

    Ben78 Nicht mehr ganz neu hier

    Dabei seit:
    27.03.2007
    Beiträge:
    97
    Geschlecht:
    männlich
    PHP Suchfunktion
    Hi PSD'ler,

    ich habe folgendes Script:

    PHP:
    1. <?php
    2. ...?>
    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: 25.01.2010
    #1      
  2. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    PHP Suchfunktion
    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.
     
    #2      
  3. Ben78

    Ben78 Nicht mehr ganz neu hier

    Dabei seit:
    27.03.2007
    Beiträge:
    97
    Geschlecht:
    männlich
    PHP Suchfunktion
    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:
    1. $sql = " SELECT Abbildung, Bezeichnung, Beschreibung, Marke, Preis, Anbieter FROM beauty LIMIT 10"; $db_erg = mysql_query( $sql );
    2. if ( ! $db_erg )
    mit dem kopierten...
    PHP:
    1.  
    2. $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.?
     
    #3      
  4. Kaede

    Kaede Nicht mehr ganz neu hier

    Dabei seit:
    20.10.2009
    Beiträge:
    91
    Geschlecht:
    männlich
    Ort:
    Sauerland
    Software:
    PS PDN Scribus Notepad++ TeXnicCenter
    Kameratyp:
    Canon PS A590
    PHP Suchfunktion
    Code (Text):
    1. $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.
     
    #4      
  5. Ben78

    Ben78 Nicht mehr ganz neu hier

    Dabei seit:
    27.03.2007
    Beiträge:
    97
    Geschlecht:
    männlich
    PHP Suchfunktion
    AW: PHP Suchfunktion

    In meinem Formular habe ich

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

    Und jetzt in meinem PHP-Script folgenden Zeile:

    PHP:
    1. $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 );
    2. 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
     
    #5      
  6. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    PHP Suchfunktion
    AW: PHP Suchfunktion

    PHP:
    1.  
    2. $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']% .'"';
    3. $db_erg = mysql_query( $sql );
    4. if ( ! $db_erg ) {
    5.  
    6. } else {
    7.  
    8. }
    9.  
    Weitere Infos, wie ein Query aufgebaut ist, findest du unter PHP: Hypertext Preprocessor
    </span></span>
     
    #6      
Seobility SEO Tool
x
×
×