Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Mysql: nur unterschiedliche Spaltenwerte auslesen

Hi,

ich habe eine MySQL-Tabelle mit folgender Struktur:

USER;MONAT;DIES;DAS

eins;201101;1234;4321
zwei;201101;4321;1234
drei;201101;3412;3214
eins;201102;2413;2143
zwei;201102;4312;1243
drei;201102;5678;1266
...

Jetzt möchte ich einen Navigator bauen, in dem ich jeden Monat einzeln abrufen kann.

Gitb es eine SELECT-Abfrage, die automatisch jeden Wert von MONAT nur ein Mal ausgibt? Also in diesem Fall nur ein Mal 201101 und ein Mal 201102? Oder muss ich den Umweg gehen alle Zeilen nach Monat sortiert abzurufen und dann immer nur bei einer Änderung des Monats den neuen Navigatoreintrag auszugeben, indem ich den jeweils aktuellen Wert zwischenspeichere?
 


Antworten zu Mysql: nur unterschiedliche Spaltenwerte auslesen:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,
würde hier über MONAT gruppieren (GROUP BY). 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ja, über MONAT zu gruppieren ist schon klar. Aber ich möchte einen Navigator bauen, in dem man den einzelnen Monat anklicken kann und dann nur diesen Monat angezeigt bekommt.

Nach dem Klick auf den Monat kann ich ja eine WHERE-Klausel auf den Monat machen, aber ich möchte zunächst nur eine Liste der Monate haben. Also bis jetzt

  • 201101
  • 201102
und nicht
  • 201101
  • 201101
  • 201101
  • 201102
  • 201102
  • 201102

Da fragte ich mich halt, ob das auch direkt aus einer MySQL-Abfrage möglich ist oder ob ich tatsächlich alle Zeilen überprüfen muss.

Bisher hab ich halt:

$res = mysql_query("SELECT `MONAT` FROM `TABELLE`");
$monat = 0;
while($result = mysql_fetch_array($res)){
if($monat != $result['MONAT']){
$monat = $result['MONAT'];
echo'Monat: '.$monat.'<br>';
}
}

Hab es ein bisschen vereinfachter dargestellt. Ich möchte halt nur wissen, ob ich den ganzen Kram in der While-Schleife durch einen einfachen echo-Befehl ersetzen kann, wenn ich entsprechend was an der Query ändere bzw. was ich an der Query ändern müsste, damit ich nur noch den echo-Befehl in der While-Schleife hab.
« Letzte Änderung: 01.11.11, 15:18:25 von MBGucky »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
2 Leser haben sich bedankt

Sry, hatte ich Dich wohl nicht richtig verstanden. Wenn Du erstmal eine Liste der Monate machen willst bietet sich SELECT DISTINCT an.

$res = mysql_query("SELECT DISTINCT `MONAT` FROM `TABELLE`");

DISTINCT blendet identische Ergebniszeilen aus.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Cool ganau das hab ich gesucht. Danke :)

Aber gerne doch  :)


« mod_rewrite Apache + PHPPHP, Wenn in einem text ein beschtimtes wort ist,... »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Malware
Mit Malware bezeichnet man allgemein Schadprogramme, die dazu entwickelt worden schädliche Funktionen auf Computern auszuführen. Das Wort setzt sich zusammen au...

Newsgroup
Newsgroup (Englischer Begriff für "Nachrichtengruppe") und meint eine Diskussionsforum im Internet, das wie ein "schwarzes Brett" funktioniert, an dem Nachrichten ve...

Klickrate
Das Wort Klickrate gibt das Verhältnis vom Anklicken der Werbebanner zum Anklicken der Internetseite an auf der sich die Werbung befindet. An dieser Rate werden beis...