Zum Inhalt springen

Anzahl der Datensätze ermitteln einer Gruppe


kay899

Empfohlene Beiträge

Hallo,

ich habe eine Abfrage die zwei Tabellen abfragt:

SELECT t.tagid, t.tgroupid, t.label, g.label

FROM rss_tags t, rss_taggroups g

WHERE t.tgroupid = g.tgroupid

ORDER BY g.sortorder ASC, t.label ASC

Das Ergebnis sieht so aus:

tagid tgroupid label label

9 1 Allgäu Regionen

4 1 Harz Regionen

2 1 Nordsee Regionen

3 1 Ostsee Regionen

8 1 Westerwald Regionen

5 2 Bayern Bundesländer

6 3 Fußballspiel Veranstaltungsart

7 3 Musical Veranstaltungsart

Ich würde jetzt gern gleichzeitig abfragen, wie wie Datensätze ich in welcher Gruppe (tgroupid) habe. Wenn ich mt COUNT() arbeite, bekomme ich immer 8 geliefert als Ergebnis aller Datensätze.

Kann mir da jemand vielleicht einen Tip geben?

Vielen Dank...

Kay

Link zu diesem Kommentar
Auf anderen Seiten teilen

geht schon, aber so richtig will sich mir der sinn nicht erschliessen.

willst du so etwas:

tagid tgroupid label label groupidcounter

9 1 Allgäu Regionen 5

4 1 Harz Regionen 5

2 1 Nordsee Regionen 5

3 1 Ostsee Regionen 5

8 1 Westerwald Regionen 5

5 2 Bayern Bundesländer 1

6 3 Fußballspiel Veranstaltungsart 2

7 3 Musical Veranstaltungsart 2

Link zu diesem Kommentar
Auf anderen Seiten teilen

ja genau sowas in der Art

ich möchte die Checkboxen im nächsten Schritt in 3 oder 4 Spalten anzeigen und dann umbrechen lassen.

Also sowas:

==================================================

|| Region || [] Allgäu || [] Harz || [] Nordsee ||

|| || [] Ostsee || [] Westerwald || ||

==================================================

|| VA-Art || [] Fußballspiel || [] Musical || ||

==================================================

Da ich die Spalten mit den Checkboxen dann ja berechnen muss, müsste ich gleichzeitig wissen, wie viele Reihen ich in dieser Tabelle für die "Bezeichnung" = 1 Spalte verbinden muss.

Hoffe das ist jetzt etwas klarer.

Nochmals Danke für die Hilfe

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zeilen berechnet man bei bekannter Elementanzahl über den Div-Operator, mit Hilfe des Modulo-Operator kann man prüfen, ob in der letzten Zeile alle Spalten besetzt sind.

Aber Du "kippst" Deine Tabelle um 90 Grad und das lässt sich mittels einer Pivot-Abfrage (sofern es das DBMS unterstützt) auch direkt realisieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ich benutze PHP. Mein Code sieht im Moment so aus (das mit $i ist der gescheiterte Versuch):

function TagsList() {
global $admin, $bgcolor1, $bgcolor2, $bgcolor3;
global $prefix, $sitename, $module_name;

$qry="SELECT t.tagid, t.tgroupid, t.label, g.label
FROM ss_tags t, rss_taggroups g
WHERE t.tgroupid = g.tgroupid
ORDER BY g.sortorder ASC, t.label ASC";
$result = sql_query($qry);
if($result){
$Anzahl=mysql_numrows($result);
$lastgroup=0;
$i=1;
while(list($tagid, $tgroupid, $label, $grouplabel) = sql_fetch_row($result)) {
$Row++;
if ($lastgroup!=$tgroupid) {
if ($GroupID==0)
$out.="<tr bgcolor=\"$bgcolor2\"><td><b>$grouplabel</b></td><td bgcolor=\"$bgcolor3\">"; // Zwischenüberschrift Gruppenname
$lastgroup=$tgroupid;
}
$out.="<input type=checkbox name=\"tagbox[]\" ".(($Value>0) ? "checked " : "")."value=$tagid> $label  ";
if($i==3) {
$i=1;
$out.="<br>";
}
$i++;
}
$out.="</td></tr>";
}
return $out;
}
[/PHP]

Ich würde gerne den Bereich der Checkboxen in drei Tabellen-Spalten trennen, da ich die dann auch gut stylen kann. Jedoch hat mein Formular ja vorne eine Titelspalte und wenn ich auf Tabellenzellen umsteige muss ich wissen, wie viele Reihen vorne die Bezeichnung der Gruppe hat, damit ich die Tabelle sauber aufbauen kann oder?

Danke für eure Hilfe...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...