Mysql DISTINCT mit PHP ausgeben

  • Hello, folgendes Problem und ich bin echt verzweifelt.
    Will mir die vorhandenen Spalten-Inhalte ausgeben lassen ohne Duplikate.


    Datenbank:

    Code
    1. / Thema /
    2. / Beraterumfrage /
    3. / Beraterumfrage /
    4. / Beraterumfrage2 /
    5. / Beraterumfrage /
    6. / Beraterumfrage2 /


    Also frage ich meine Datenbank:


    PHP
    1. $verteiler_s = "select DISTINCT `thema` from `beraterkontakte`";


    und weise das einem array zu.
    Jetzt wird es aber spannend:
    Es klappt aber die Ausgabe nicht!!!


    Gebe ich es so aus:

    PHP
    1. while ($row = mysql_fetch_assoc($verteiler_q)) {
    2. echo $row[thema];
    3. }


    Bekomme ich:

    PHP
    1. Beraterkontakte2


    Gebe ich es so aus:

    PHP
    1. $a = 0;
    2. while ($a < $anzahl_verteiler) {
    3. echo $row[$a];
    4. $a++;
    5. }


    Bekomme ich:

    PHP
    1. Beraterkontakte


    Wie kann ich beide Zeilen ausgeben?
    Danke!


    Lg, urban-a :)

  • Update:
    Habe jetzt ind er DB Beraterkontakte3 hinzugefügt und müsste also drei Ergebnisse bekommen.


    mysql_num zeigt, dass die Abfrage funktioniert (3 Elemente)


    Die Ausgabe zweigt nun Beraterkontakte3 und Beraterkontakte 2,
    das Problem ist also, dass bei der Ausgabe nicht das erste Element des Array angezeigt wird.


    :rolleyes:

  • Mit Umwegen gelöst.
    Nicht schön und nicht performant aber zumindest hab ich es gelöst:



    Also zuerst aus dem Mehrdimensionalen Array einen Eindimensionalen gemacht und im Anschluss mit array_unique doppelte Einträge entfernt

  • Ich verstehe aber immer noch nicht, warum das hier nicht klappt:

    PHP
    1. while ($row = mysql_fetch_assoc($verteiler_q)) {
    2. echo $row['thema'];
    3. }


    Was machst Du denn direkt davor bzw. nach dem mysql_query bis zur while-Schleife?

    Grüße vom Griechen,
    Cybergreek!

  • Du gar nichts an jeder stelle passiert das.
    Er greift auf das erste array element nicht zu...


    Vielleicht findest du zeit mal bei einer beispiel db bei dir zu reknstruieren
    Ich finde auch nirgendwo was dazz