JavaScript Daten weiter verarbeiten

Cool Master

Fleet Admiral
Registriert
Dez. 2005
Beiträge
40.139
Hallo,

ich habe eine Frage bzgl. JavaScript und ob dies Möglich ist was ich vor habe. Und zwar habe ich Daten (nur Zahlen) aus einer DB. Das ganze sieht so aus:

HTML:
<!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title></title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width">
    </head>
    <body>
        <h1>Daten für den 25. Januar 2013</h1>
                
        <span id="stellenbewertung">5</span>
        <span id="personalplanung">3</span>
        <span id="rekrutierungsprozesse">2</span>

        <span id="kommunikation">2</span>
        <span id="fuehrungskultur">2</span>
        <span id="beteiligungskultur">4</span>

        <span id="nachaltigkeit">4</span>
        <span id="arbeitsbedingung">5</span>
        <span id="verguetungsstruktur">4</span>

        <span id="verguetungsstruktur">4</span>
        <span id="verguetungsstruktur">3</span>
        <span id="verguetungsstruktur">2</span>
    </body>
</html>

So nun möchte ich das:

https://developers.google.com/chart/interactive/docs/gallery/gauge

auf einer weitern Seite einbinden.

Und zwar werden immer 3 Zahlen zusammen addiert bis zu einem Maximum von 15, sprich 3x5 = Beste und 3x0 = das schlechteste.

So 15 ergibt also 100% gehen wir mal von den ersten 3 Zahlen aus so ergibt das 10 = 66%

Nun zu der EIgentlichen Frage :D

Kann ich diese Zahlen nehmen und auf eine andere Seite übernehmen oder kann Javascript sowas nicht und ich muss die Objekte noch mal aus der DB laden auf der neuen Seite?

Dazu kommt wie gehe ich am besten an den Algorithmus dran?

Kann ich da sowas sagen wie:

ID=stellenbewertung + ID=personalplanung + ID=rekrutierungsprozesse = sum

100/15*sum = ergebniss

Dank schon mal für die Infos an ein JavaScript newbie :D
 
Nein, sobald der Browser eine neue Seite lädt verschwindet der Code der alten Seite natürlich. Also hast du auch keinen Zugriff mehr darauf.

Du kannst das aber umgehen, indem du den Browser keine komplett neue Seite laden lässt, oder Variablen übergibst und dann wieder ausliest oder eben nochmal auf die DB zugreifst.

Beim ersten müsstest du wohl deinen Seiten Aufbau anpassen und die Inhalte via Ajax laden, beim zweiten bedarf es etwas PHP.


Code:
ID=stellenbewertung + ID=personalplanung + ID=rekrutierungsprozesse = sum

Ja, in etwa. innerHTML suchst du.
 
Wie kann ich es machen das der Browser keine komplett neue Seite lädt? Falls es relevant ist das ganze läuft in Python und in Django als App.
 
Definiere bitte mal zuerst, was neue Seite bei dir eigentlich wirklich bedeutet(PopUp?untergeordnete, komplett andere) und ob auf die Seite(n) nur lokal zugegriffen wird.

Eventuell bieten sich dann sogar noch andere Lösungswege an.
 
Eigentlich kannst du das natürlich machen wie du willst, ... .

Allerdings stellt sich mir als Außenstehender die Frage, warum das ganze auslagern? Ich sehe da keinen Sinn drin.
Du bereitest die Daten auf, zeigst sie an und bietest dann eine extra Seite an, wo du die aufbereiteten Daten nur anders darstellen willst?

Ich würde das eher anders lösen und gleichzeitig auch das Problem umgehen.
Binde die Diagramme einfach mit auf die Seite ein, direkt unter der Anzeige (10%, 33%, 100% whatever). Oder lass die nur textbasierte Anzeige weg.
(Doppelte Informationen, besonders wenn sie so simpel sind, sind auch eher fragwürdig)

Alternativ könnte man auch über ein Button nachdenken, der die verschiedenen Darstellungen durchschaltet
 
DasBoeseLebt schrieb:
Du bereitest die Daten auf, zeigst sie an und bietest dann eine extra Seite an, wo du die aufbereiteten Daten nur anders darstellen willst?

Ja weil die Einzelnen Zahlen die im 1. Post stehen sind nur für ein Monat. Das ganze solle aber eine Reflektion auf ein Jahr geben. Sprich Ich habe meine Monats zahlen und auf der anderen Seite ein Diagramm das mit die Werte der letzen Monate anzeigt und in einen Balken Diagramm z.B. darstellt.

DasBoeseLebt schrieb:
Alternativ könnte man auch über ein Button nachdenken, der die verschiedenen Darstellungen durchschaltet

Also das mit dem Button hat mich hellhörig gemacht :) Da bin ich noch gar nicht drauf gekommen das man es auch so lösen könnte.

Da hat sich das Problem mit der URL schon mal erledigt. Und ich könnte die Daten eigentlich direkt auf einer Seite verarbeiten lassen, allerdings per CSS ausgeblendet und per JS könnte man zwischen Text View, also nur die Zahlen und dem Diagramm switchen oder?
 
Cool Master schrieb:
Da hat sich das Problem mit der URL schon mal erledigt. Und ich könnte die Daten eigentlich direkt auf einer Seite verarbeiten lassen, allerdings per CSS ausgeblendet und per JS könnte man zwischen Text View, also nur die Zahlen und dem Diagramm switchen oder?

Ja, wäre möglich.

Eventuell könntest du dann oben eine Liste drüber packen, wo die Monate von Januar bis Dezember gesetzt sind mit einer Abtrennung zum Gesamtenüberblick, wobei immer der aktuelle Monat per Standard ausgewählt ist.

Ungefähr so:
Januar
Febuar
--------
Gesamt


Und je nach Auswahl ändern sich die Zahlen und die Diagramme.



Oder gibt es sonst noch was, was man wissen muss um dir zu helfen ? Man muss dir ja alles aus der Nase ziehen.
 
DasBoeseLebt schrieb:
JMan muss dir ja alles aus der Nase ziehen.

Ja ist schwer sorry :P

Geht darum das dies Mein Abschlussprojekt ist und es eine Parallele Entwicklung sein wird von einer Flash Anwendung (wo von ich eh nichts halte :P) und meiner Version mit Django, Python und HTML5.

Effektiv ist es ein Test Case um zu sehen wie weit HTML5+JS+CSS3 mit Flash mithalten kann.

Das ganze soll so aussehen wie im Anhang.

Wie du sehen kannst sollten dir die div ID's aus Post 1 bekannt vor kommen. Klickt man nun auf Weiter so kommt man in der Flash Anwendung auf den 2. Anhang.

Flash kan zwar noch ein CSV Import aber dafür langt mir die Zeit von 70 Stunden nicht das umzusetzten.
 
Zuletzt bearbeitet:
Benenne das ,Weiter'-Feld um, wenn es immer nur zu dieser Anzeige führt.

Dann machst du ein Overlay-Fenster, d.h. du blendest einen schwarz-transparenten Hintergrund ein mit den Anzeigen in der Mitte.
Durch klicken des Hintergrundes oder Buttons, die du auch noch einfügst (wie das X) verschwindet das Overlay wieder und du bist wieder in der Maske.

Was anderes tut die Software da jetzt ja quasi auch nicht, ODER ?!

ps: warum nicht gleich mehr Informationen, du steigerst dich immerhin.
 
Zuletzt bearbeitet:
Ganz Ehrlich was Flash da macht kann ich dir nicht sagen ob das nur ein Overlay ist oder eine neue Seite keine Ahung da ich 0,0 mit Flash zu tun habe.

Aber gut, Frage ist an sich geklärt alles in eine Page rein, inhalt verstecken per CSS und auf Button Klick sichtbar machen :) Zufälligerweise habe ich sowas sogar schon mal geschrieben was ich nutzen kann. Wie gesagt das ich da nicht drauf gekommen bin.... Einfach zu lang überlegt :X
 
Ja wie gesagt das ganze ist noch in der Entwicklung (Alpha Phase) ;) Aber ich leite es an den Entwickler weiter :)

Trotzdem danke für deine Hilfe :)
 
Zuletzt bearbeitet: (Frage hat sich erledigt.)
Zurück
Oben