Mitglieder einer Gruppe zählen
Eingetragen von Genesis (597)
am 22.04.2008 - 15:49 Uhr in
am 22.04.2008 - 15:49 Uhr in
Hallo zusammen,
um meinen verwirrenden Titel kurz zusammen zu fassen: Ich bin auf der Suche nach einem PHP-Code, mit dem ich die Mitglieder einer Gruppe summieren kann, und dann das Ganze ausgebe, quasi aus der DB heraus. Der PHP-Code soll direkt in eine Seite mit eigenem Template.
Leider bin ich ein kompletter Noob was PHP angeht, und fühle mich da leicht überfordert. Wäre wirklich dankabr wenn mir da jemand helfen könnte. :)
Grüße vom,
Genesis
- Anmelden oder Registrieren um Kommentare zu schreiben
Was meinst du mit
am 22.04.2008 - 16:00 Uhr
Was meinst du mit Gruppe?
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Okay, mein Fehler, Macht der
am 22.04.2008 - 16:18 Uhr
Okay, mein Fehler, Macht der Gewohnheit. :)
Ich meine natürlich Rollen. :)
Die Ausgabe soll am Ende so aussehen, als Beispiel:
Moderatoren: 5
Mitglieder: 12
Usw., wobei das eben einzelne Rollen sind, ich muss nur wissen wie ich die Zahlen summiere, das Einbauen, bzw anpassen bekomme ich schon hin. :)
Grüße vom,
Genesis
ist eigentlich ganz simpel:
am 23.04.2008 - 07:15 Uhr
ist eigentlich ganz simpel: Wenn du in die Datenbank reinschaust, dann brauchst du dafür die folgenden zwei Tabellen:
- role
- users_roles
Role: dort stehen die Rollen drin und ihre ID.
users_role ordnet die Users einzelnen Rollen zu.
Dieses SQL Statement sollte eigentlich helfen:
select COUNT(u.rid),name
FROM users_roles AS u, role AS r
WHERE r.rid = u.rid
GROUP by u.rid
Dabei kommt als Rückgabewert der Name der Rolle, sowie die Anzahl Mitglieder darin.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Ich danke dir erst einmal
am 23.04.2008 - 09:58 Uhr
Ich danke dir erst einmal vielmals für deine Hilfe, und deine Mühen.
Allerdings bin ich wirklich schlecht was PHP anbelangt, von daher würde ich dich, oder jemand anderen bitten mir mal ein komplettes Codebeispiel zu geben. Wie würde der Code aussehen, bis zum echo, bzw print wenn ich als Beispiel die Rolle, bzw die Summe mit der id 2 ausgeben wollte.
Ich habe es jetzt über eine Stunde versucht, aber wenn einem das logische Verständnis fehlt kann man viel probieren, und erkennt dabei die eigenen Fehler nicht.
Derzeit habe ich so etwas hier
<?php
$grp1 = mysql_query("select COUNT(u.rid),name FROM users_roles AS u, role AS r WHERE r.rid = u.rid GROUP by u.rid");
$test2 = mysql_num_rows($grp1);
echo "$test2";
?>
Allerdings ist das selbst in meinem Verständnis schon Quatsch, woher soll er nämlich wissen welche ID ich ausgeben will...
Ich wäre für Hilfe sehr dankbar!
Grüße vom,
Genesis
Habe leider gerade keine
am 23.04.2008 - 11:01 Uhr
Habe leider gerade keine Zeit zum Testen, aber versuch es mal damit:
<?php
$res = db_query{"select COUNT(u.rid),name FROM {users_roles} AS u, {role} AS r WHERE r.rid = u.rid GROUP by u.rid"};
while($row = db_fetch_array($res)){
print $row['COUNT(u.rid)'].'<br/>';
print $row['name'].'<br/>';
}
?>
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Hallo Rapsi, zunächst
am 23.04.2008 - 11:19 Uhr
Hallo Rapsli,
zunächst einmal danke ich dir vielmals für dien Hilfe. Ein kleiner Fehler war drin, die geschweiften Klammern hinter, bzw. nach db_query musste ich gegen "normale" austauschen, dann ging es. :)
Ich will deine Hilfe nicht überstrapazieren, und bitte mach dir keinen Stress, aber ist es nun auch möglich nur einzelne Rollen auszugeben. Mal angenommen ich wollte nur die der 2. ID ausgeben, kann ich den Code dann entsprechend anpassen? Wenn ich nicht so schlecht wäre würde ich es selbst versuchen, ich hatte da an LIKE im Query gedacht, aber das ist wahrscheinlich falsch.
Also vielen, vielen Dank, und wie gesagt blos keinen Stress, nicht wegen mir. :)
Beste Grüße,
Genesis
Ups, die Klammern sind mir
am 23.04.2008 - 11:33 Uhr
Ups, die Klammern sind mir reingerutscht ;)
like oder = ist gut:
%d ist platzhalter
$id wäre dann die rollen id.
<?php
$res = db_query("select COUNT(u.rid),name FROM {users_roles} AS u, {role} AS r WHERE r.rid = u.rid AND r.rid=%d GROUP by u.rid",$id);
while($row = db_fetch_array($res)){
print $row['COUNT(u.rid)'].'<br/>';
print $row['name'].'<br/>';
}
?>
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Ohne überschwenglich werden
am 23.04.2008 - 11:50 Uhr
Ohne überschwenglich werden zu wollen, ich danke dir vielmals. Nach ein wenig testen, und nachdem ich mir mal den Aufbau der Datenbank genau angesehen habe hat es wunderbar funktioniert.
Ich bedanke mich ernet das du deine Zeit darauf verwendet hast, und wünsche noch einen schönen Tag. :)
Grüße vom,
Genesis