count abfrage

lifehunter

Erfahrenes Mitglied
hi,
ich möchte bei mir im Forum die Beiträge und Themen zählen. Die Beiträge zähle ich über diese Abfrage
PHP:
<?
$anzahlthemen = mysql_query("SELECT COUNT(*) FROM `forum` WHERE Bereich='".$part[$k]['bereich']."'");
list($zahlthemen) = mysql_fetch_array($anzahlthemen);
echo $zahlthemen['Bereich']."</td></tr>";
?>
Nun möchte ich noch die Themen zählen. Ich dachte mir man könnte es vielleciht über diese Abfrage machen:
PHP:
<?
$anzahlthemen = mysql_query("SELECT COUNT(p) FROM `forum` WHERE Bereich='".$part[$k]['bereich']."'");
list($zahlthemen) = mysql_fetch_array($anzahlthemen);
echo $zahlthemen['Bereich']."</td></tr>";
?>
Oder:
PHP:
<?
$anzahlthemen = mysql_query("SELECT COUNT(*) FROM `forum` GROUP BY p WHERE Bereich='".$part[$k]['bereich']."'");
list($zahlthemen) = mysql_fetch_array($anzahlthemen);
echo $zahlthemen['Bereich']."</td></tr>";
?>

Alle Beiträge des gleichen Themas haben die gleiche Nummer. Das ist bei mir in der Datenbank der Punkt 'p'.
Vielleicht könnt ihr mir da weiter helfen.

MfG
 
Probier's mal mit print_r(mysql_fetch_array($anzahlthemen));, damit erhälst du einen Einblick in die Struktur des Ergebnis-Arrays.
 
also die erste abfrage die ich hier aufgeführt habe funktioniert, ich brauch jetzt nur noch eine abfragen für die themen und das sind die anderen beiden. es wird kein fehler angezeigt aber es wird leider falls gezählt. ich habe eben noch eine idee gehabt die aber auch gleich ausfiel:
PHP:
<?
$anzahlthemen = mysql_query("SELECT COUNT(p) FROM `forum` WHERE Bereich='".$part[$k]['bereich']."'  GROUP BY p");
list($zahlthemen) = mysql_fetch_array($anzahlthemen);
echo $zahlthemen['Bereich'];
?>
 
Probiere das Funktionskonstrukt vor direkt jeglichem Aufruf der mysql_fetch_array()-Funktion. Denn in deinem Fall enthält die Ergebnismenge nur einen Datensatz und der wird mit dem ersten Aufruf der Funktion „verbraucht“. Oder sonst setze den internen Ergebnis-Zeiger auf den Initialwert 0 (vgl. mysql_data_seek()-Funktion).
 
eben nicht
ich wollte die themen zählen und dann müsste da 1 stehen, weil es 2 mal die gleiche "p" ist.
ein beispiel:
in dem Bereich "Off-Topic/Off-Topic" sollen die Themen gezählt werden
es gibt folgende themen
Thema 1 (1Eintrag)(p=1)
Thema 2 (5Einträge)(p=2)
Thema 3 (2Einträge)(p=3)

Jetzt sollte nach der Zählung die ich haben will 3 rauskommen. Doch leider wird 8 gezählt.
Vielecihzt kann man mein Problem jetzt besser verstehen.
 
ich habe jetzt mal was anderes geschrieben was auch richtig zählt, jedoch wird was anderes falsch gemacht.
PHP:
<?
$anzahlthemen = mysql_query("SELECT `p` FROM `forum` WHERE Bereich='".$part[$k]['bereich']."'  GROUP BY p");
for($l=0;$l<mysql_num_rows($anzahlthemen);$l++)
$zahlthemen[$l]=mysql_fetch_array($anzahlthemen);
echo count($zahlthemen);
?>
Beispielbild
wie man auf dem bild sieht werden 2 beiträge von einem thema auch als ein thema gezählt. jedoch werden alle themen darunter auch mit 1 gezählt. hat jemand ne ahnung warum das so ist?
 
Zurück