Announcement

Collapse
No announcement yet.

Suchfuktion erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Suchfuktion erstellen

    Ich möchte gerne eine Volltextsuche für einen Webshop implementieren, jedoch stellt mich das vor einige Probleme.

    Meine Abfrage sieht momentan wie folgt aus:

    <pre>

    $result = mysql_query("SELECT * FROM artikel WHERE MATCH (hersteller, farbe, bezeichnung, kategorie) AGAINST('$user_input*' IN BOOLEAN MODE) ORDER BY artnr", $db);

    </pre>

    Diese funktioniert auch fast, nur möchte ich, wenn ich zwei Begriffe eingebe nur Ergebnisse bekommen, die beide Begriffe enthalten.

    Also bei "Pullover grün" nur grüne Pullover, aber ich würde dann auch andere Pullover bekommen die rot sind oder grüne Hemden.

    Das zweite Problem ist das unter Kategorie in der Artikeltabelle nur Integer Werte gespeichert sind, nun möchte ich diese Werte mit Hilfe einer Kategorie Tabelle ausgeben lassen wie komme ich daran?

    Wie kann ich diese Probleme lösen??

  • #2
    du könntest den User-Input darauf
    untersuchen ob mehrere Begriffe
    eingegeben wurden und dann in der Abfrage
    für jeden Begriff eine eigene Bedingung
    definieren.

    Gruß Zebulo

    Comment


    • #3
      Wie Zebulon sagt: Wenn der User mehr als einen Begriff eingibt (split(' ', $input)), dann die Werte mit AND im SQL-Statement verknüpfen:<br />
      <br />
      ... () MATCH AGAINST () AND () MATCH AGAINST ()...<br />
      <br />
      Was das 2. Problem angeht, so mußt Du einen JOIN über beide Tabellen durchführen

      Comment

      Working...
      X