Marco: Problem mit PHP

Hallo wünsche euch einen schönen guten Morgen.

Meiner ist leider weniger schön ich sitz hier und bin schon halb am Verzweifeln. Ich schreibe gerade eine Seite mit PHP und hab folgendes Problem.
Bei der Seite hab ich Drop-Down-Menü das ich mit Daten aus der Datenbank aus den Feld "gruppe" füttere. In disen Feld stehen viele verschiedene Sachen und auch viele gleiche. Das Problem dabei ist jetzt das dann in den Drop-Down-Menü die doppelten Sachen auch öfters drin stehen. Ich möchte aber das alle Gruppen nur einmal drinstehen.
Eine Möglichkeit währe es wenn ich eine zweite Tabelle erstelle aber ich würde das gerne alles in einer Tabelle halten.

Danke euch schon mal für eure Hilfe und wünsch euch noch ein schönen Tag.

Gruß,

Marco

  1. Hallo

    Ich möchte aber das alle Gruppen nur einmal drinstehen.

    SELECT DISTINCT Spaltenname FROM Tabellenname

    Gruß
    Bastian

    1. Danke dir für die flotte Hilfe ;-)

  2. Hi,

    Meiner ist leider weniger schön

    ich bitte Dich, behalte solch intime Details für Dich. SCNR ;-)

    Bei der Seite hab ich Drop-Down-Menü das ich mit Daten aus der Datenbank aus den Feld "gruppe" füttere. In disen Feld stehen viele verschiedene Sachen und auch viele gleiche. Das Problem dabei ist jetzt das dann in den Drop-Down-Menü die doppelten Sachen auch öfters drin stehen. Ich möchte aber das alle Gruppen nur einmal drinstehen.

    Mit anderen Worten: Du möchtest Daten, die mehrfach in einer Spalte vorkommen, nur einfach lesen. Dann schreib das bitte im Subject - "Problem mit PHP" ist hier nicht nur falsch, sondern wäre auch dann sinnarm, wenn es stimmen würde.

    Faustregel: Nimm Dir für das Subject eines Postings ebenso viel Zeit, wie für das Posting selbst.

    Bei Datenbank-Problemen ist es zudem unerlässlich, das verwendete DBMS zu nennen. Die Lösung könnte je nachdem anders sein, ob Du z.B. Oracle, Informix oder MySQL benutzt. Es ist jedoch höchstwahrscheinlich hilfreich, wenn Du Dich in der Dokumentation Deines DBMS - normalerweise wird sie mitgeliefert, in jedem Fall ist sie beim Hersteller zu finden - oder wahlweise auch in einem guten Buch wie z.B. "SQL in 21 Tagen" über DISTINCT und/oder GROUP BY informierst.

    Eine Möglichkeit währe es wenn ich eine zweite Tabelle erstelle aber ich würde das gerne alles in einer Tabelle halten.

    Im Hinblick auf die Redundanz wäre dies vermutlich auch eine der schlechtesten der möglichen Lösungen :-)

    Cheatah

    1. Hallo,

      Im Hinblick auf die Redundanz wäre dies vermutlich auch eine der schlechtesten der möglichen Lösungen :-)

      Wenn ich in Betracht ziehe, dass sich auch mal Gruppenbezeichnungen ändern können, dann wäre dies sicher einfacher umzusetzen. Ich müsste ja nur in dieser neuen Tabelle den Namen ändern, der Verweis aus der ersten tabelle auf den namen in der zweiten blibe hingegen unangetastet. Oder?

      Aber egal, ist ja nicht meine DB.

      Grüße aus Würzburg
      Julian

      1. Hi,

        Wenn ich in Betracht ziehe, dass sich auch mal Gruppenbezeichnungen ändern können, dann wäre dies sicher einfacher umzusetzen.

        "einfacher" ist nur selten ein gutes Argument. Wenn sich Namen ändern können, sind sie kein eindeutiges Identifizierungsmerkmal mehr - ein klarer Fall für (nummerische) IDs und ggf. eine n:m-Beziehung.

        Cheatah

  3. Hi Marco,

    also ich kenn mich zwar mit sql Zugriffen unter PHP nicht so gut aus, aber mit "select distinct gruppe from db where ..." werden doppelte Sätze vermieden, kannst es ja mal austesten.

    Gruß

    ueps