Hallo,
ich habe mir einen Lösungsansatz überlegt, aber mir fehlt ein Codeschnipsel
In der db-Tabelle REVIEW werden in der Spalte "NOTE" für die Bewertungen die Werte 1 - 5 eingetragen.
Bei Frage/Antworten (keine Bewertung)
ist diese Spalte leer.
Das heißt (so habe ich mir das zumindest ausgedacht), ich müßte die
Anzahl der NICHT leeren Felder pro Artikel-id ermitteln.
sub average{
........ (original Script für Ausgabe der Gesamtbeiträge)
## Berechnung der Durchschnittlichen Bewertungen pro Artikel
sub average
2{
my $id = shift;
my $sql = qq |SELECT NOTE FROM $dbtable WHERE ITEMID='$id'
AND Feld NOTE != leer |;
my $count = ssp::readSQLData($sql, "note");
my $total = 0;
if ($count != 0) {
for (my $z=0;$z<$count;$z++){
my $aver = ssp::get_var_db("note", $z);
$total = $total + $aver;
......
......
#Rückgabewerte: Durchschnittsnote und Anzahl Bewertungen auf Artikel
ohne Frage/Antwortbeiträge berechnet }
Ist meine Überlegung soweit richtig oder liege ich da ganz falsch?
und wenn es so funktionieren könnte, wie kann ich die Anzahl der
NICHT leeren NOTE-Felder
(roter Teil) auslesen?
(ich komme einfach nicht dahinter........)
Die Ausgabe sollte dann folgendermaßen erfolgen:
- gibt es keinerlei Beiträge -> normaler Meldungstext: "für diesen Artikel wurden noch keine....."
- gibt es nur Bewertungen -> "my @faverage2 = average2($id);
$tmpaver= qq|<div class="reviewasmall">Der Artikel wurde $faverage2[1] mal bewertet. <br>Durchschnittliche Bewertung: $faverage2[ 0 ]..." - gibt es nur Frage/Antworten -> " my @faverage = average($id);
$tmpaver= qq|<div class="reviewasmall">Zu diesem Artikel wurden $faverage[1] Beiträge geschrieben..." - gibt es sowohl als auch -> beide Textblöcke einblenden
Wie ich den Ausgabeteil dann richtig formulieren muß, ist mir auch noch nicht klar....
(kann ich aber erst versuchen, wenn das db-Werte auslesen und Summen berechnen funktioniert)