Kann ich Gruppieren ?

mtk-flo

Erfahrenes Mitglied
Ich habe in einer Tabelle 2 Spalten

Code:
user_id | forum_id
------------------------------
2		 | 2
2		 | 4
2		 | 5

jetzt möchte ich das es aber so ausgegeben wird:

Code:
user_id | forum_id
------------------------------
2		 | 2
		   | 4
		   | 5

wie mach ich das ?
 
Leider hast du bei weitem nicht genug Informationen gegeben, aber ich vermute jetzt einfach das du auf Tabellen in einer SQL-Datenbank ansprichst. Für so etwas solltest du dir dann mal den "GROUP BY" Ausdruck ansehen. Näheres findest du in der Manual deines DBMS.
 
genau das wollte ich machen ,,,,

er zeigt bei mir aber nur den ersten eintrag an .... :/
 
mtk-flo hat gesagt.:
Ich habe in einer Tabelle 2 Spalten

jetzt möchte ich das es aber so ausgegeben wird:

Code:
user_id | forum_id
------------------------------
2		 | 2
		   | 4
		   | 5

wie mach ich das ?

Hi
eine solche Ausgabe kannst Du über die SQL nicht ausgeben, auch nicht mit Group by.

Das musst Du in php lösen, indem Du allerdings die SQL erst mal nach userid sortierst.

Im php-Script in der Schleife setzt Du eine Variable und vergleichst sie mit dem Wert von userid. Ist der Wert vorhanden, setzt es diesen nur einmal, bis sich der Wert von userid ändert. In diesem Teil gibst Du am Schluss der Variablen den Wert von userid.
 
Zuletzt bearbeitet:
hallo!

habe das selbe problem! Vielleicht wird es anhand meines beispiels deutlicher...
bei mir sieht die db etwa so aus:
Code:
user_name               | termin
------------------------------  -------------------------------
Mike Müller		 | 22.05.2005
Mike Müller              | 02.06.2006
Mike Müller	         | 14.07.2007
Bernd Mair               | 09.04.2003
Bernd Mair               | 10.06.2006
Bernd Mair               | 26.01.2006

und ausgegeben werden sollte es so:
Code:
Mike Müller		 
-----------------------------------------------------
                                   22.05.2005
                                   02.06.2006
                                   14.07.2007

Bernd Mair   
-----------------------------------------------------             
                                   09.04.2003
                                   10.06.2006
                                   26.01.2006
 
Hallo,

wie schon erwähnt: beim Durchlaufen der Ergebniszeilen prüfen, ob sich der Wert von user_name im Vergleich zum letzten Durchlauf geändert hat, wenn ja, dann eine neue Ausgabegruppe beginnen.

Grüße,
Matthias
 
Also ich habe eine für mich zufriedenstellende Lösung gefunden. Also ich habe eine für mich zufriedenstellende Lösung gefunden. Vielleicht hilft sie ja mtk-flo auch weiter.
Ich habe das problem eig. ganz einfach gelöst in dem ich mehrere Arrays verwende. Am Anfang der Namens Schleife setze ich die Variable $name_insert = true; und beim ersten Durchlauf der Termin schleife setzte ich sie auf $name_insert = false; Habe jetzt hier nur ein paar Schnipsel ausgeschnitten um meine Erklärung zu unterstreichen. Falls also doch etwas fehlt oder zuviel ist, bitte entschuldigt ;-)

PHP:
for($ui = 0; $ui < $sizeof_userid; $ui++){
	$name_insert = true;

	for($da = 0; $da < $sizeof_arrData; $da++)
	{
		if($name_insert){
			echo = $UserName_arr[$ui];
			$name_insert = false;
		}
		echo = $UserTermin_arr[$ui];
	}
}
 
Zurück