Problem mit keyword-abfrage

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

  • Problem mit keyword-abfrage

    Hallo,
    ich habe mehrere Artikel in meiner DB. Jeder Artikel hat eine Tabellenspalte "Keywords", in der mehrere durch Leerzeichen getrennte Keywords stehen. Ich habe nun ein Eingabeformular, wo ich Suchbegriffe eintragen kann. Es sollen nur die Artikel angezeigt werden, in denen ALLE eingegebenen Suchbegriffe vorkommen, aber egal in welcher Reihenfolge diese eingegeben wurden.

    Also ein Artikel der nur das Keyword "Holz" hat, soll nicht angezeig werden, wenn ich "Regal Holz" eingebe.
    Ich habe es mit folgenden Queries probiert, bekomme aber immer alle artikel angezeigt, in denen eines der Keywords vorkommt.

    Query 1:
    PHP Code:
    $query_listing "SELECT titel FROM artikelstamm WHERE MATCH(keywords) AGAINST('$searchfor')"
    Query 2:
    PHP Code:
    $query_listing "SELECT * FROM artikelstamm WHERE keywords LIKE '%$searchfor%'"


    Wie bekomme ich das hin?

  • #2
    Re: Problem mit keyword-abfrage

    Wie bekomme ich das hin?
    garnicht. wieso hast du die tabelle nicht normalisiert?

    du mußt dann eben die suchworte trennen und dann für jedes eine LIKE-abfrage machen.
    Die Zeit hat ihre Kinder längst gefressen

    Comment


    • #3
      ist ne notlösung: was du machen könntest, für jedes keyword ne query benutzen, in der du nach der produktid fragst. wenn alle query´s durch sind, vergleichst du nur noch die id´s der vreschiedenen query´s und hast den/die arktikel, auf die deine suchworte zutreffen. ansonsten hat derHund vollkommen recht, du kannst nur deine db-struktur ändern.
      ich geh zum lachen in den keller

      Comment

      Working...
      X