philippo: komplexere suche

Hallo

ich habe ein Problem. Und zwar möchte ich eine komplexere Suche erstellen. Aus einer DB lese ich name,stadt,bundesland,branche aus. nun möchte ich über drei Suchfelder das rihcitge Ergebniss finden. Sorich wenn ich die stadt weglasse, und branche einbene, bzw ein bundesland soll das genau so gehen, als wenn ich nur die stadt angegebe. leider finde ich kein denkansatz...

gruß
philippo

  1. Hello,

    ich habe ein Problem. Und zwar möchte ich eine komplexere Suche erstellen. Aus einer DB lese ich name,stadt,bundesland,branche aus. nun möchte ich über drei Suchfelder das rihcitge Ergebniss finden. Sorich wenn ich die stadt weglasse, und branche einbene, bzw ein bundesland soll das genau so gehen, als wenn ich nur die stadt angegebe. leider finde ich kein denkansatz...

    Die Lösung heißt

    Optionen und Alternativen
      Aufbau eines Grids mit den Abfragemöglichkeiten

    Dazu gibt es hier schon mal irgendwo einen 'Denkansatz' im Archiv.

    Wichtig ist bei solchen 'Abfragemaschinen' immer, dass keinerlei Werte direkt
      aus dem Client-Request entnommen werden, sondern der Server immer prüft, ob
      der Request so erlaubt ist.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
  2. hi,

    Aus einer DB lese ich name,stadt,bundesland,branche aus. nun möchte ich über drei Suchfelder das rihcitge Ergebniss finden. Sorich wenn ich die stadt weglasse, und branche einbene, bzw ein bundesland soll das genau so gehen, als wenn ich nur die stadt angegebe.

    nimm nur für die felder eine bedingung mit in die WHERE-klausel auf, für die auch ein suchbegriff angegeben wurde.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Hello,

      nimm nur für die felder eine bedingung mit in die WHERE-klausel auf, für die auch ein suchbegriff angegeben wurde.

      Dann kann man aber z.B. nicht nach allen Datsnsätzen suchen, die keine Postleitzahl enthalten.

      Wichtig ist ja auch, ob die Abfragebedingungen mit UND oder ODER verknüpft werden sollen und wie diese geklammert werden sollen und ob z.B. auch nach 'LIKE %$wert%' gesucht werden soll

      WHERE $feld LIKE '%$wert%'        enthält
      WHERE $feld LIKE '%$wert'         endet mit mit
      WHERE $feld LIKE '$wert%'         beginnt mit
      WHERE $feld = '$wert%'            gleich (Groß-/Kleinschreibung missachtet)
      WHERE BINARY $feld = '$wert%'     genau gleich

      Und nicht vergessen, $wert vorher zu escapen!

      Anmerkung:
      select * from ADRESSE where VORNAME = BINARY 'HANS'; geht aber auch. Nun bin ich überfragt, ob das Attribut 'BINARY' vor dem Spaltennamen oder vor dem Vergleichswert stehen muss.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau