Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Jan Schattling

Super Moderator

Dabei seit: 30.09.2002

Beiträge: 2 593

 

1 Zum Seitenanfang

Samstag, 14. Juli 2007, 03:01

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
"Fehler sind immer zu Verzeihen, wenn man den Mut hat, diese auch zu zugeben." Lee Jun-Fan
 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

2 Zum Seitenanfang

Samstag, 14. Juli 2007, 08:55

Zitat

..die verschiedene Tabellen mit Topics drin hat ...



könntest du nochmal genauer die Struktur deiner DB erläutern

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ospx« (14. Juli 2007, 08:57)

 

UT2003ler

Lebende Foren Legende

Dabei seit: 04.10.2002

Beiträge: 1 514

 

3 Zum Seitenanfang

Samstag, 14. Juli 2007, 09:07

Meinst du vielleicht so?

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?
wir leben um zu (er)leben

Website: www.virtoreal.net

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »UT2003ler« (14. Juli 2007, 09:08)

 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

4 Zum Seitenanfang

Samstag, 14. Juli 2007, 09:32

@UT2003ler ich glaube nicht, dass er danach sucht. Das kennt er mit Sicherheit.
 

Jan Schattling

Super Moderator

Dabei seit: 30.09.2002

Beiträge: 2 593

 

5 Zum Seitenanfang

Samstag, 14. Juli 2007, 12:53

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.
"Fehler sind immer zu Verzeihen, wenn man den Mut hat, diese auch zu zugeben." Lee Jun-Fan
 

treo

Super Moderator

Dabei seit: 16.09.2002

Beiträge: 3 669

 

6 Zum Seitenanfang

Samstag, 14. Juli 2007, 13:07

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:

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....
 

Jan Schattling

Super Moderator

Dabei seit: 30.09.2002

Beiträge: 2 593

 

7 Zum Seitenanfang

Samstag, 14. Juli 2007, 15:48

Und das gebe ich dann mit while aus?
Oder wie muss dann das echo aussehen?

Jan
"Fehler sind immer zu Verzeihen, wenn man den Mut hat, diese auch zu zugeben." Lee Jun-Fan
 

Skittles

Moderator

Dabei seit: 14.02.2004

Beiträge: 3 014

 

8 Zum Seitenanfang

Samstag, 14. Juli 2007, 17:22

sql-statement:

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.
 

Jan Schattling

Super Moderator

Dabei seit: 30.09.2002

Beiträge: 2 593

 

9 Zum Seitenanfang

Samstag, 14. Juli 2007, 18:22

ui.. super... nun geht es... ich danke Euch für Eure Hilfe.


Jan
"Fehler sind immer zu Verzeihen, wenn man den Mut hat, diese auch zu zugeben." Lee Jun-Fan