Beitrag von LarsRech (1 Beitrag) am Montag, 18.Oktober.2010, 14:24.
Einfache Berechnung des Durchschnitts von 4 Werten
Hallo,
ich habe in einer "Datenbank" die Zahlen-Felder a, b, c, d, in denen jeweils Noten stehen.
Ich möchte nun nicht nur einfach die benoteten (z. B. Schüler) in einer Liste mit den Einzelnoten, sondern diese sortiert nach der Durchschnittsnote ausgeben....
Diese Durchschnittsnote existiert als Feld aber gar nicht, weil ich es nicht eingeben möchte, sondern elegant ausrechnen lassen will.
Bin erst seit gestern dabei, deshalb bin ich ratlos.
Bitte schreibt mal Eure Vorschläge, Danke!
Antworten
Beitrag von Claus (4645 Beiträge) am Montag, 18.Oktober.2010, 14:47. WWW: hammoniaweb.com
Re: Einfache Berechnung des Durchschnitts von 4 Werten
>Bitte schreibt mal Eure Vorschläge
Hier gibt es nicht nur Vorschläge, sondern hier gibt es meistens (bei kleinen Dingen) auch gleich Lösungen...;)
Testlink:
http://baseportal.de/cgi-bin/baseportal.pl?htx=/Juergens/testrechnung/test
Quellcode:
<html><head>
<title>baseportal Datenbank</title>
</head><body bgcolor=ffffff>
<do action=all db=dein_dbname>
<perl>
get "Id==*", "test","erg";
while(get_next("erg"))
{
$durchschnitt=(($a+$b+$c+$d)/4);
out "$Name A: $a B: $b C: $c D: $d Durschnittsnote: $durchschnitt<br>";
$durchschnitt="";
}
</perl>
</body></html>
hth
Gruesse
Claus
Antworten
Beitrag von Lars (22 Beiträge) am Montag, 18.Oktober.2010, 15:59.
Re: Re: Einfache Berechnung des Durchschnitts von 4 Werten
Schönen Dank, Claus, Du hast genau mein Problem gelöst.
Leider fehlen mir die Basics, um das umzusetzen...
Kannst Du mir irgendwie diese Datenbank zukommen lassen, damit ich sehen kann, wie ich es umsetzen kann?
Komme mit der Zeile ...
get "Id==*", "test","erg";
nicht ganz klar, d. h. ich weiß nicht, was ICH da einsetzen muss.
Außerdem hab ichs exakt bgeschrieben und bei mir wir DIESER Text abgedruckt.
Ich bitte Dich, die DB einmal irgendwie an mich zu senden, wenns irgendwie geht.
Danke auf jeden Fall schon Mal für die super schnelle Antwort!
Antworten
Beitrag von richard (1187 Beiträge) am Montag, 18.Oktober.2010, 16:44.
Re: Re: Re: Einfache Berechnung des Durchschnitts von 4 Werten
Auch wenn ich nicht Claus bin.
"test" mußt Du mit dem Namen Deiner Datenbank ersetzen.
Sortiert isses dann aber immer noch nicht.
Antworten
Beitrag von richard (1187 Beiträge) am Montag, 18.Oktober.2010, 15:22. WWW: posaunenchor-rhoden.de
Re: Einfache Berechnung des Durchschnitts von 4 Werten
Wenn sortiert werden soll ist es bei bp wohl am einfachsten ein zusätzliches Feld für den Notendurchschnitt anzulegen und dieses dann beim Anlegen und jeder Bearbeitung des Datensatzes neu zu berechnen.
Damit ist dann eine nach der Durchschnittsnote sortierte Ausgabe und Anzeige problemlos möglich. Auch unter der hier zur Verfügung stehenden Benutzeroberfläche.
Eine Möglichkeit die Datensätze während, genauer vor, der Ausgabe zu sortieren geht so: Die Datensätze zunächst wie von Claus vorgeschlagen holen (siehe "get" und "get_next"), dabei den Durchschnitt ausrechnen, in Variable schreiben und alles in einem Perl-Hash speichern. Den sortieren und dann ausgeben.
Antworten
Beitrag von Lars (22 Beiträge) am Montag, 18.Oktober.2010, 23:04.
Re: Re: Einfache Berechnung des Durchschnitts von 4 Werten
Hi Richard,
das hört sich auch gut an. Wie kann man denn nach der Eingabe direkt ein in der Tabelle befindliches Feld
a) vor dem User verstecken, so dass er es nicht auszufüllen versucht,
b) in diesem Feld die Berechnung speichern/zuordnen,
und evtl. sogar:
c) von verschiedenen Datensätzen einen Durchschnitt bilden. Ich weiß, das ist jetzt was ganz anderes! DIESES Problem soll z. B. Den Notendurchschnitt in einem bestrimmten Fach bringen. Super wäre jetzt noch: Nach Jungen und Mädchen getrennt. Also irgendwie zusammenfassen: alle, die gleichen Geschlechts sind. Ein Feld mit dem Geschlecht kann man ja einrichten...
Puh...
Antworten
Beitrag von richard (1187 Beiträge) am Dienstag, 19.Oktober.2010, 08:48. WWW: posaunenchor-rhoden.de
Re: Re: Re: Einfache Berechnung des Durchschnitts von 4 Werten
Antworten
Beitrag von Lars (22 Beiträge) am Dienstag, 19.Oktober.2010, 14:12.
Re: Re: Re: Re: Einfache Berechnung des Durchschnitts von 4 Werten
OK, also Perl sollte ich mir angucken.
Und die andere Sprache heißt SQL?
Oder ist das eine BASEPORTAL spezifische Sprache??
HTML hilft mir da doch nicht weiter, oder??
Antworten
Beitrag von richard (1187 Beiträge) am Dienstag, 19.Oktober.2010, 14:27.
Re: Re: Re: Re: Re: Einfache Berechnung des Durchschnitts von 4 Werten
Du solltest vor allem erstmal rumprobieren und auch mal die ersten Versuche mit Änderungen in den Seiten machen. Also um bei Deinem Projekt zu bleiben, Datenbank anlegen und mal in den Eingabeformularen das Feld für die Durchschnittsnote auszublenden. Dafür kann man in den Seiten innerhalb von <do action=all> bestimmte Parameter setzen - http://doku.baseportal.de/66.html#3 .
Beim rechnen wird Dir hier dann schon weiter geholfen. Einzelne Aufgabenstellungen mußt Du dann mit Perl oder den eingebauten Funktionen oder einer Mischung aus beiden angehen. Perl ist die Programmiersprache in der baseportal geschrieben und die man auch innerhalb von baseportal einsetzen kann.
SQL gibt es hier nicht. Alles was nicht von Haus aus eingebaut ist muß per Perl realisiert werden.
HTML hilft Dir weiter wenn Du nicht mehr die eingebauten Funktinoen bzw. Ausgeformate benutzt und einen eigenen Aufbau der Seiten realisieren willst. Stichworte für die Doku sind da "loop" oder "get".
Antworten