Abfrage mit unvollstaendigem User-Iput

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Abfrage mit unvollstaendigem User-Iput

    Hallo an alle,

    ich erstelle gerade eine Datenbank mit Adressdaten verschiedener Personen.
    Der User soll bei Auswahl der Abfrage (oder des damit verbundenen Formulars) den Namen der Person eingeben und dann als Ergebnis die Adresse erhalten.
    Hier mein Code:
    Code:
    SELECT * FROM Person
    WHERE Person.Name=[Type Name]
    Nun erhaelt der User, wenn er z.B. 'Althaus' eingibt, die Details aller Personen namens Althaus.

    Meine Frage: Ich moechte dem User gerne ermoeglichen, die Personen namens Althaus auch zu finden, wenn er nicht den ganzen Namen kennt. Die Eingabe 'hau' sollte also alle Personen ausgeben, deren Name die Buchstabenfolge 'hau' erhaelt - z.B. auch den Namen Neuhaus.

    Wie kann ich das in den obigen Quelltext integrieren?

    Vielen Dank fuer jede Idee,

    Testversion

  • #2
    Hallo,

    willkommen im Forum!

    Sieh dir mal LIKE an.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Der LIKE-Hinweis

      Hallo,

      danke fuer das nette Willkommen.

      Ich haette vielleicht erwaehnen sollen, dass ich mich mit LIKE schon auseinandergesetzt habe. Meiner Meinung nach muesste der Code dann so aussehen:
      Code:
      WHERE Person.Name LIKE '%[Type Name]%'
      Leider hat das bei mir nicht funktioniert.
      Ich habe dann die Eingabeaufforderung ([Type Name]) durch 'hau' ersetzt
      Code:
      WHERE Person.Name LIKE '%hau%'
      um zu pruefen, ob das vielleicht wegen der Eingabeaufforderung nicht klappt. Allerdings habe ich auch ohne Aufforderung keine Namensausgaben wie Neuhaus oder Althaus erhalten.

      Mache ich vielleicht irgendwo einen Denkfehler, der so simpel ist, dass man ihn eigentlich nicht erklaeren muss?

      Danke im Voraus,
      Testversion

      Kommentar


      • #4
        Mal mysql_error() verwendet um zu prüfen ob überhaupt etwas ankommt und/oder je nach dem ob nicht das ankommt was gewollt ist? Ggf. auch mal den Query selbst ausgeben um zu sehen ob dort ein Fehler vorhanden ist..

        Kommentar


        • #5
          Die Query selbst funktioniert inklusive Benutzereingabe einwandfrei, bis ich den Like-Befehl einfuege. Dann gibt es bloss einen leeren Datensatz als Ausgabe, egal, ob sich der Like-Befehl auf die Benutzereingabe oder eine festgelegte Buchstabenfolge (wie 'hau') bezieht.

          Kommentar


          • #6
            Was für ein System ist das denn eigentlich?
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Was genau ist mit 'System' gemeint?

              Kommentar


              • #8
                Welches DBMS du einsetzt. MySQL, MSSQL, PostgreSQL, ...? Und wer kümmert sich um diese Eingabeaufforderungen? Hast du das selbst implementiert oder war das schon eingebaut?

                Meine Vermutung: dein DBMS kennt kein LIKE. An dem Platzhalter kann es ja nicht liegen, wenn du sagst, dass
                Code:
                WHERE Person.Name LIKE '%hau%'
                auch nicht funktioniert.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9
                  Ich benutze MySQL. Das ist ja an sich recht populaer, deswegen verwundert es mich, dass LIKE nicht funtioniert.
                  Gibt es Alternativen dazu?

                  Kommentar


                  • #10
                    MySQL kann das. Wie greifst du drauf zu? Über PHP? Dann hast du irgendwo nen Fehler im Script.
                    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                    Super, danke!
                    [/COLOR]

                    Kommentar

                    Lädt...
                    X