Bestimmte Spalten zählen, aber wie?

K

KenKo

Hi, sorry das ich nen Thread zu einem Thema aufmache das bestimmt schon 100 mal durch gekaut wurde :(.
Aber ich finde mich hier im Forum nicht mehr zurecht, sorry :(.

Ich habe folgendes Problem:

Ich möchte gerne das die Zeilen "fid" zusammen gezählt werden, leichtes ding ich weiss, aber es soll folgendermassen aussehen.

Ich habe bei "fid" bisher die nummer 17 viermal und die nummer 16 einmal.
Nun möchte ich das auf der Webseite bei den Posts folgendes erscheind:

Beitrag Nr.17
Bla1
Bla2
Bla3
Bla4
Beiträge: 4

Beitrag Nr. 16
Bla1
Beiträge: 1

Ich habe hier zu auch schon was im Forum gefunden:

PHP:
$sql="SELECT 
sid, 
COUNT(*) AS Anzahl 
FROM Warenkorb 
GROUP BY sid"; 
 
$result=mysql_query($sql) or die(mysql_error()); 
while ($row=mysql_fetch_assoc($result)) { 
	echo $row['sid'].": ".$row['Anzahl']."<br>\n"; 
}

Das ist aber nicht so richtig das was ich meine :(.

Ich hoffe jemand da draußen versteht mich *g*

Ich bedanke mich für jede Anregung, Idee und Hilfe :).

/edit

Da noch keine Antwort kam hab ich ein wenig rum probiert :).
PHP:
$sql = "SELECT COUNT(*) as Anzahl FROM kommentar WHERE `fid` = '$comment'";
$result = mysql_query($sql);
 
if ($num = mysql_num_rows($result)) { 
	for($i=0;$i < $num; $i++) {
$Anzahl = mysql_num_rows($result);
	 $com = mysql_result($result,$i,"Anzahl");
	}
} else echo "0"; 
echo $com
Das kam dabei heraus, doch leider zeigt er mir nur die Beiträge von dem Letzen Eintrag an :eek:.

Das heisst es steht überall [ Kommentare (4) ]

Also siehts zur Zeit so aus:

Beitrag Nr.17
Bla1
Bla2
Bla3
Bla4
Beiträge: 4

Beitrag Nr. 16
Bla1
Beiträge: 4

Hat irgend jemand eine ahnung wie ich das ändern kann ? ? *liebguck*

Dankö
 
Zuletzt bearbeitet von einem Moderator:
Du kannst es mit einem Subquery lösen:
Code:
SELECT
  t1.Feld1,
  t1.Feld2,
  t1.Datum,
  t1.Groupfeld,
  (SELECT COUNT(*) FROM Tabelle AS t2 WHERE t1.Groupfeld=t2.Groupfeld) 
    AS Anzahl
FROM Tabelle AS t1
ORDER BY t1.Groupfeld, t1.Datum
In der auslesenden Schleife musst Du dann den Wechsel erkennen:
PHP:
//...
$gFeld=null;
$anzahl=null;
while ($row=mysql_fetch_assoc($result)) {
    if ($row['Groupfeld']!=$gFeld) {
        if ($anzahl != null) {
            echo "Beiträge: ".$anzahl."<br>\n";
        }
        echo "<h1>Beitrag ".$row['Groupfeld']."</h1>";
        $gFeld=$row['Groupfeld'];
        $anzahl=$row['Anzahl'];
    }
    echo $row['Datum'];
    echo $row['Feld1'];
    echo $row['Feld2'];
    // ...
}
Gruß hpvw
 
Zurück