Datenbankabfrage

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

  • Datenbankabfrage

    Hallo,

    ich habe in einer Tabelle 2 Datensätze, die folgende Keywords haben:

    Datensatz 1:
    Oberflächenversiegelung , haus , garten , auto

    Datensatz 2:
    automation , automatisierung , sondermaschine


    Nun möchte ich alle Datensätze anzeigen, in denen das Wort auto alleinstehend vorkommt, also in Datensatz 1. Ich bekomme derzeit beide angezeigt, was aber nicht richtig ist. Wie müßte die Abfrage richtig lauten, damit ich nur den 1.Datensatz als Ergebnis erhalte.


    Mfg
    Zocker

  • #2
    stehn die ganzen Wörter denn in einem Attribut? Wie ist denn deine Abfrage bisher? denn: %auto% kommt natürlich auch im unteren vor..
    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

    Kommentar


    • #3
      Re: Datenbankabfrage

      Wenn du vernünftig normalierst hättest, hättest du das Problem gar nicht ...


      So sehe ich eigentlich nur die Möglichkeit, das mit regulären Ausdrücken zu machen, und vor und hinter dem Begriff eine Wortgrenze zu verlangen.
      Und das dürfte extrem unperformant sein.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Vielen Dank für die schnellen Antworten.

        Wie würde das denn mit den regulären Ausdrücken aussehen?

        Alle Keywords stehen in einer Spalte und sind mit einem Leerzeichen oder , getrennt.


        Mfg
        Zocker

        Kommentar


        • #5
          RTFM. Ich habe keine Lust mehr, dir ständig was vorzukauen.

          Aber der erste Hinweis war eigentlich der, dem du eher nachgehen solltest.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Gut das du meine Fragen beantwortet hast

            Dann machs doch einfach so:

            PHP-Code:
            $result mysql_query("SELECT * FROM tabelle 
            WHERE spalte LIKE '% auto' 
            OR spalte LIKE 'auto %';"
            ); 
            für tabelle natürlich deinen Tabellennamen und für spalte deinen Spaltennamen, ist reichlich ungeschickt, und ich weiß nicht ob immer Leerzeichen zwischen den Wörtern stehen, aber das hat man eben davon, wenn man (wie wahsaga schon sagte) nicht ordentlich normalisiert!
            Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

            Kommentar


            • #7
              Dann gib mir bitte einen Link, wo ich nachlesen kann.

              Danke!


              Mfg
              Zocker

              Kommentar


              • #8
                Für Reguläre Ausdrücke: ereg_replace()
                Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                Kommentar

                Lädt...
                X