MacDef: MySql abfrage

Hey,

Folgendes Problem: Ich habe in der Datenbank eine Tabelle XY . In dieser stehen in der spalte "benutzer" die user die diesen datensatz später sehen dürfen (z.B alfred,admin,tobias). jetzt möchte ich mittels php eine abfrage für die db realisieren, die alle datensätze aus Tabelle XY ausliest, in der "alfred" in der spalte benutzer zu finden ist.

Würde dort immer nur ein einzelner Name stehen wäre dies ja mittels eines einfachen "..where benutzer like 'alfred'" gelöst. Wie mache ich dies aber wenn mehrere namen unter "benutzer" stehen?

Vielen Dank im Vorraus

  1. Hallo,

    Würde dort immer nur ein einzelner Name stehen wäre dies ja mittels eines einfachen "..where benutzer like 'alfred'" gelöst. Wie mache ich dies aber wenn mehrere namen unter "benutzer" stehen?

    WHERE benutzer LIKE '%alfred%'

    mfg, Flo

    --
    Developers are dying. Computers are getting trash. CEO's become forgetten. The only remaining things are ideas, lies and crises. So if you want to be immortal, first think, than stop it and go to microsoft and become later a manager at Lehman Brothers...
    sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
    *Zu dem de:> Ich benutze wegen IE im moment noch tabellen, weil dieser display:table noch nicht versteht. Ich werde aber, wenn IE 6 & IE 7 < 10% mein neues CSS-Layout einspielen...
    1. Hallo!

      Würde dort immer nur ein einzelner Name stehen wäre dies ja mittels eines einfachen "..where benutzer like 'alfred'" gelöst. Wie mache ich dies aber wenn mehrere namen unter "benutzer" stehen?
      WHERE benutzer LIKE '%alfred%'

      Evtl.musst du außerdem die Groß- und Kleinschreibung abfangen.

      Viele Grüße
      Thorsten

      --
      ie:( fl:( br:< va:) ls:& fo:) rl:° n4:° ss:) de:> js:| ch:? sh:( mo:| zu:)
      1. alles klar...
        Vielen dank für die schnellen antworten

    2. Hi,

      Würde dort immer nur ein einzelner Name stehen wäre dies ja mittels eines einfachen "..where benutzer like 'alfred'" gelöst. Wie mache ich dies aber wenn mehrere namen unter "benutzer" stehen?
      WHERE benutzer LIKE '%alfred%'

      Das findet auch alle Alfredos, Alfredorettas, etc.

      Wenn ueberhaupt, sollte man in diesem Falle FIND_IN_SET() nutzen.
      Aber Sven hat absolut recht, dass stattdessen eher ein vernuneftiges Tabellendesign her muesste.

      MfG ChrisB

      --
      „This is the author's opinion, not necessarily that of Starbucks.“
  2. Moin!

    Würde dort immer nur ein einzelner Name stehen wäre dies ja mittels eines einfachen "..where benutzer like 'alfred'" gelöst. Wie mache ich dies aber wenn mehrere namen unter "benutzer" stehen?

    Indem du deine Datenbank vernünftig normalisierst. Das bedeutet: Es gibt kein Feld "benutzer" mehr, in denen kommasepariert die Usernamen stehen, sondern es gibt eine separate Tabelle, in der die Datensatz-ID des anzusehenden Datensatzes steht, sowie die User-ID des erlaubten Users. Dürfen mehrere User den Datensatz sehen, gibts auch mehrere Einträge in dieser Extratabelle.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."