Datenbank Inhalt sortiert und gezählt ausgeben
Moin.
Irgendwie hängt es grade bei mir.
Ich habe ne Datenbank die verschiedene Tabellen mit Topics drin hat, deren Inhalt sich immer sehr ähneln.
Nun will ich auf ner Statistikseite jeweils die Topics ausgeben.
Dazu soll geguckt werden was an Inhalt da ist, gleiche zusammengefasst und gezählt werden.
Also aus der Spalte "Beispielspalte" mit dem Inhalt: a, b, a, a, c, b, a, c, a, c, d, b, a
Soll dann folgendes werden:
"Beispielspalte":
a: 6
b: 3
c: 3
d: 1
Irgendwie will es mir nicht kommen wie ich das möglichst sinnvoll ausgeben kann.
Jan
Irgendwie hängt es grade bei mir.
Ich habe ne Datenbank die verschiedene Tabellen mit Topics drin hat, deren Inhalt sich immer sehr ähneln.
Nun will ich auf ner Statistikseite jeweils die Topics ausgeben.
Dazu soll geguckt werden was an Inhalt da ist, gleiche zusammengefasst und gezählt werden.
Also aus der Spalte "Beispielspalte" mit dem Inhalt: a, b, a, a, c, b, a, c, a, c, d, b, a
Soll dann folgendes werden:
"Beispielspalte":
a: 6
b: 3
c: 3
d: 1
Irgendwie will es mir nicht kommen wie ich das möglichst sinnvoll ausgeben kann.
Jan
"Fehler sind immer zu Verzeihen, wenn man den Mut hat, diese auch zu zugeben." Lee Jun-Fan
Meinst du vielleicht so?
u.s.w
Du kannst ja auch ne forschleife machen und das wonach er vergleichen soll ständig anpassen... wenn nötig
Ist es das was du meinst?
|
|
PHP-Quelltext |
1 |
$query1 = "COUNT (*) FROM Beispiel WHERE Beispielspalte = 'a'";
|
|
|
PHP-Quelltext |
1 |
$query2 = "COUNT (*) FROM Beispiel WHERE Beispielspalte = 'b'";
|
|
|
PHP-Quelltext |
1 |
$query3 = "COUNT (*) FROM Beispiel WHERE Beispielspalte = 'c'";
|
u.s.w
Du kannst ja auch ne forschleife machen und das wonach er vergleichen soll ständig anpassen... wenn nötig
Ist es das was du meinst?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »UT2003ler« (14. Juli 2007, 09:08)
ja... count ist mir bewusst.
Ich nutze lieber, nachdem ich passende Sachen gefunden habe mysql_num_rows.
Also... Tabellenstruktur
Nur als Beispiel, bei mir sieht es anders aus.
Ich habe eine Tabelle names "Bücher"
Darin sind Spalten wie "Medium", "Verlag", "Sprache", etc.
In denen befinden sich ja Zeilen, die bei mir aber aus mehreren gleichen Inhalten bestehen.
Bei Medium ist es meist: Hardcover oder Paperback
Sprache ist meist: Englisch oder Deutsch
Verlag hat viele unterschiedliche, aber auch manche gleiche.
Ich will nun immer eine Spalte davon ausgeben im Format:
Sprache:
- Englisch: 30
- Deutsch: 50
- Spanisch: 2
Dazu muss ich gucken welche Werte in den Zeilen stehen und sie, wenn sie mehrfach vorkommen dann zählen.
Dann will ich sie in dem Format ausgeben.
Jan
P.S.: Nächster Schritt währe dann, zu gucken wie ich die, die weniger als X mal vorhanden sind einfach alle unter "Sonstiges" zusammen fasse.
Ich nutze lieber, nachdem ich passende Sachen gefunden habe mysql_num_rows.
Also... Tabellenstruktur
Nur als Beispiel, bei mir sieht es anders aus.
Ich habe eine Tabelle names "Bücher"
Darin sind Spalten wie "Medium", "Verlag", "Sprache", etc.
In denen befinden sich ja Zeilen, die bei mir aber aus mehreren gleichen Inhalten bestehen.
Bei Medium ist es meist: Hardcover oder Paperback
Sprache ist meist: Englisch oder Deutsch
Verlag hat viele unterschiedliche, aber auch manche gleiche.
Ich will nun immer eine Spalte davon ausgeben im Format:
Sprache:
- Englisch: 30
- Deutsch: 50
- Spanisch: 2
Dazu muss ich gucken welche Werte in den Zeilen stehen und sie, wenn sie mehrfach vorkommen dann zählen.
Dann will ich sie in dem Format ausgeben.
Jan
P.S.: Nächster Schritt währe dann, zu gucken wie ich die, die weniger als X mal vorhanden sind einfach alle unter "Sonstiges" zusammen fasse.
"Fehler sind immer zu Verzeihen, wenn man den Mut hat, diese auch zu zugeben." Lee Jun-Fan
ich würde mal nichts gegen count(*) sagen
ist recht flott die Geschichte damit 
Was du suchst ist folgende Query:
SELECT `beispielspalte`,count(*) FROM `tabelle` GROUP BY `beispielspalte`;
Das Ergebnis dazu sieht dann so aus:
ist recht flott die Geschichte damit 
Was du suchst ist folgende Query:
SELECT `beispielspalte`,count(*) FROM `tabelle` GROUP BY `beispielspalte`;
Das Ergebnis dazu sieht dann so aus:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
+----------------+----------+ | beispielspalte | count(*) | +----------------+----------+ | a | 711 | | b | 213 | | c | 678 | | d | 80 | | e | 172 | | f | 204 | | g | 61 | | h | 41 | | i | 40 | +----------------+----------+ |
ihre DNS Analyse zeigt eine krankhafte Abneigung gegen jegliche Autorität und einen Charakter der zum Gewaltausbrechen neigt....
sql-statement:
SELECT `beispielspalte`,count(*) as anzahl FROM `tabelle` GROUP BY `beispielspalte`;
php:
SELECT `beispielspalte`,count(*) as anzahl FROM `tabelle` GROUP BY `beispielspalte`;
php:
|
|
PHP-Quelltext |
1 2 3 |
while($row=mysql_fetch_assoc($query)) {
echo("{$row['beispielspalte']}: {$row['anzahl']}");
}
|
~!__/
..o.o
This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.


