Abfrage "suchen"

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

  • Abfrage "suchen"

    Hallo zusammen,
    kann mir jemand sagen ob es im PHP eine Möglichkeit gibt,
    eine MySql Abfrage zu erstellen, die bei Eingabe von "Autos" den Begriff "Auto" findet?
    Also nur Teile eines eingegebenen Wortes vergleicht!
    Kann mann das vielleicht auch in Prozent angeben?

  • #2
    hmm,

    SELECT * FROM TABELLE WHERE SPALTE LIKE "Auto%"

    Kommentar


    • #3
      Die Frage ist aber eigentlich doch ob SQL bei der Eingabe von
      SELECT * FROM TABELLE WHERE SPALTE LIKE "Autos%"
      auch die Spalten liefert in denen "Auto" steht..
      ..am besten probierst du es mal aus und schreibst die Ergebnisse hier rein.

      Kommentar


      • #4
        Tut es nicht.

        CAT Music Files

        Kommentar


        • #5
          @KinNeko

          Das wäre nicht logisch, denn du musst immer nach dem kleinsten gemeinsamen Nenner suchen. Die Suche in die andere richtung ist viel aufwendiger !

          Ich gehe davon aus das maik sowas in der Art sucht dass man einen Suchbegriff eingibt bei dem es um Auto(s) geht, also auch Automobil, Autofrontschibenhalterung(*gg*), Autoradio, Automarke ... Naja und da ist der kleinste Nenner eben Auto.

          Andersherum hast du ein Problem, denn nach was willst du suchen ? Du brauchst ja eine Vorgabe ? Oder willst du alles nehmen was ein 's' beinhaltet und dann alles ausser dem 's' ausgeben ? Macht wenig Sinn denke ich.

          Kommentar


          • #6
            Eine Alternative wäre eine Extraspalte mit zusätzlichen Suchworten...

            SELECT felder FROM tabelle WHERE standardspalte LIKE "autos%" OR suchbegriffe LIKE "%autos%"

            CAT Music Files

            Kommentar


            • #7
              JoelH kommt dem schon nahe!
              Wenn Jemand den Suchbegriff "Autos" eingibt, möchte ich halt auch die Zeilen mit "Autohaus" angezeigt bekommen. Leider Stöhrt aber in der Abfrage das "s".

              Ist echt blöd!

              Kommentar


              • #8
                Eine KI zu bauen, die aus jedem beliebigen deutschen Wort den Wortstamm ermittelt, ist zwar theoretisch möglich; aber ich halte es für unwahrscheinlich, dass das jemals jemand tut.

                Wie wär´s statt dessen mit einer zusätzlichen Tabelle, in die bestimmte Schlüsselwörter eingegeben werden, z.B. "Auto"?!

                und dann:

                Code:
                $q_key = mysql_query ("select * from KEYWORD
                  where '$suche' like concat(WORT, '%')");
                $treffer = array();
                while (list($key)=mysql_fetch_row($q_key))
                {
                  $q = mysql_query ("select * from TABELLE
                    where INHALT like '$key'");
                  while ($x = mysql_fetch_array($q))
                  {
                    $treffer[$x[ID]][DATA]=$x;
                    $treffer[$x[ID]][KEY][] = $key;
                  }
                }
                echo "Suche nach 
                foreach ($reffer as $y)
                {
                  echo "<hr>Suchworte : '",
                    implode("','",$y[KEY]), "'<br>";
                  var_dump($y[DATA]);
                }
                var_dump kannst und solltest du natürlich durch eine übersichtlichere Form der Ausgabe ersetzen.
                Es bietet sich noch an, die Artikel vor der Ausgabe mit Hilfe einer eigenen Vergleichsfunktion zu sortieren (s. Funktion usort).

                Einziges Problem: Jetzt findest du auch bei "automatisieren" alles, was mit Autos zu tun hat ... Da hilft vielleicht die Einschränkung auf die längsten Begriffe:
                $q_key = mysql_query ("select * from KEYWORD
                where '$suche' like concat(WORT, '%')
                order by LENGTH(WORT) desc");
                und die folgende Schleife abbrechen, wenn die Stringlänge sich ändert.
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar

                Lädt...
                X