Zum Inhalt springen

Ergebnisse Meherer Summenzeilen ausgeben


Empfohlene Beiträge

Hallo,

ich habe ein kurzes Skript, welches alle Inhalte einerbestimmten ID zusammen zählt und das für diverse Artikel.

Bsp:

Es gibt 3 Artikel: [Artikel1, Artikel2, Artikel3]

Nun sollen die Hits aller Kommentare die zu Artikel X gehören gezählt werden.

Hier der Pseudocode:


// Solange es Artikel gibt wird jeweils pro Zeile die ID und der Name Zeile ausgelesen
$result = mysql_query("SELECT aid,title FROM Artikel",$db);
while ($Artikel = mysql_fetch_array($result)) {

// die Kommentare zu dem Artikel werden in der DB gesucht und die Hits der einzelnen Kommentare sumiert
$result2 = mysql_query("SELECT SUM(hits) FROM comments WHERE aid = $AlbumDaten[aid];",$db);
$Hits = mysql_fetch_array($result2);

// Ausgabe des Artikels und die Anzahl der Kommentare
echo"<b>Artikel:</b> ".$Artikel[title]." - <b>Kommentare:</b> ".$Hits[hits]."<br>";
};
[/PHP]

Klappt aber nicht, scheitert an der inneren Schleife.

Eigentlich wird da ja auch direkt ein Befehl auf die DB abgelassen und nichts ausgelesen, wenn ich den wie oben beschrieben in eine/n Variable/Array schreiben will, scheitert es mit der Ausgabe.

Hat jemand Tipps?

ThX

S8

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was für mich irgendwie keinen Sinn ergibt, ist folgender Abschnitt:

// die Kommentare zu dem Artikel werden in der DB gesucht und die Hits der einzelnen Kommentare sumiert
$result2 = mysql_query("SELECT SUM(hits) FROM comments WHERE aid = $AlbumDaten[aid];",$db); [/PHP]

Ich glaube du willst an der Stelle $Artikel['aid'] ansprechen, alles andere macht hier keinen Sinn.

Weiterhin kann ich mir nicht erklären, was du mit der "inneren Schleife" meinst, ich seh nur eine.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ja sorry sollte wirklich "$Artikel['aid']" heißen und mit inerer Schleife meine ich die SQL Abfrage in der Schleife.

Es wird ja pro Datenzeile eine Abfrage gestartet, wieviele Hits es zu Kommentaren zu diesem Artikel gibt.

Also:

> Auswahl Artikel

> Wieviel Kommentare gibt es zu diesem Artikel

ThX

S8

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du solltest mal zusehen, dass du deine Queries ordentlich schreibst.

Das ist schrecklich:

$result2 = mysql_query("SELECT SUM(hits) FROM comments WHERE aid = $AlbumDaten[aid];",$db);

So funktioniert das schon besser:

$result2 = mysql_query("SELECT SUM(hits) FROM comments WHERE aid = '".$Artikel['aid']."'",$db);

Außerdem wirst du mit $Hits['hits'] nicht das Ergebnis von SUM bekommen. Schau dir das Array mal mit print_r an, dann siehst du, unter welchem Key das Ergebnis liegt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du solltest mal zusehen, dass du deine Queries ordentlich schreibst.

Das ist schrecklich:

$result2 = mysql_query("SELECT SUM(hits) FROM comments WHERE aid = $AlbumDaten[aid];",$db);

So funktioniert das schon besser:

$result2 = mysql_query("SELECT SUM(hits) FROM comments WHERE aid = '".$Artikel['aid']."'",$db);

Außerdem wirst du mit $Hits['hits'] nicht das Ergebnis von SUM bekommen. Schau dir das Array mal mit print_r an, dann siehst du, unter welchem Key das Ergebnis liegt.

hmm ich denke mal eher ohne hockomma, denn aid ist doch wahrscheinlich vom typ integer.

$result2 = mysql_query("SELECT SUM(hits) as hits FROM comments WHERE aid = ".$AlbumDaten['aid'], $db);

und so kannste dann auch auf $line['hits'] (bzw. du machst glaube ich $Hits['hits'] ) zugreifen. es fehlte nur das "as hits"

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