Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Suchfunktion PHP -> SQL

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.06.2002
    Beiträge
    6

    Question Suchfunktion PHP -> SQL

    Hallo,

    meine Frage bezieht sich auf PHP -> SQL (PgSQL)

    Wie erstelle ich eine einfache Suchfunktion, bei der mehrer (auch vertauschte Woerter) gefunden werden koennen ?

    Ich habs bereits mit

    "SELECT foo FROM bar WHERE $variable ~* '$search'"

    laufen, jedoch koennen so nur komplette satz-teile und aneinanderfolgende Woerter gefunden werden.

    Vielen dank im vorraus

    deathcon

  2. #2
    Registrierter Benutzer
    Registriert seit
    24.03.2001
    Ort
    schweiz
    Beiträge
    69
    LIKE ist hier das zauberwort (mit wildcards-> %) ... da ich es aber noch nie benutzt habe wuerde ich dir raten, im inet danach zu suchen.

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.01.2000
    Ort
    München-Moosach, Bayern
    Beiträge
    131
    select foo from bar where your_field like '%suche%';

    bei mehreren wörtern dieses halt dann mit and oder or verknüpfen.

    geht meines wissens nach aber nur mit charakterfeldern.

    martin
    Wer ist weisse ?
    Der von jedem Menschen etwas lernen kann.

  4. #4
    Registrierter Benutzer
    Registriert seit
    24.03.2001
    Ort
    schweiz
    Beiträge
    69
    bei mysql gibt es noch eine weitere, weitaus maechtigere funktion:

    REGEX

    aber auch hier kenne ich mich nicht aus ...

  5. #5
    Registrierter Benutzer
    Registriert seit
    25.06.2002
    Beiträge
    6
    Im moment läuft die Suche ueber ~* und funktioniert mit einem Begriff, doch wenn ich dann mehrere Begriffe suche find ich dann nichts mehr. Mit der und (oder)-Verknüpfung gibts nur ein kleines Problem, wie soll ich die Such-Begriffe einzeln erhalten, wenn ich nicht für jeden ein einzelnes Textfeld einplane.

    MfG

  6. #6
    Registrierter Benutzer
    Registriert seit
    24.03.2001
    Ort
    schweiz
    Beiträge
    69
    Original geschrieben von deathcon
    wie soll ich die Such-Begriffe einzeln erhalten, wenn ich nicht für jeden ein einzelnes Textfeld einplane.
    wenn ich dich richtig verstanden habe, so hast du ala google ein einziges formularfeld, wo man mehrere begriffe eingeben kann, und du moechtest nach all diesen woertern suchen koennen. stimmt das so?

    wenn dies so ist, musst den string vor der query in einzelne strings aufteilen (mittels explode und einem delimeter[" "] zb). danach bildest du den query string mit einer for-schlaufe. so entsteht ein query der dynamisch ist, und je nach anzahl eingegebener woerter laenger oder kuerzer wird ...
    Geändert von crac (28-06-2002 um 09:17 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •