tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von CPoly
  • 1 Beitrag von CPoly
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
737
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Number5 Number5 ist offline Mitglied Silber
    Registriert seit
    Jun 2005
    Beiträge
    54
    Eigentlich eine einfache Sache so dachte ich, aber ich komm gerade nicht drauf:

    Ich will aus einer Datenbank [Struktur: id, x, y] die Daten auslesen und dann ein Diagramm erstellen. Momentan nutze ich FLOT mit jquery. Die Daten müssen im Format: var data = [[x1, y1], [x2, y2], ...] bereitgestellt werden.

    Habe jetzt die Daten ausgelesen mit SQL und dann per php in genau dieses Format gebracht und lese sie dann in der Javascript Funktion aus einem hidden input field aus... um damit das Diagramm zu erstellen.

    Liegt da ein Denkfehler vor? Oder muss ich irgendwelche Typumwandlungen beachten?

    Danke für Eure hilfe.
    N5
     

  2. #2
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Kommt drauf an. Wenn du zwischen dem Auslesen aus dem Input und dem erstellen des Diagramms "$.parseJSON" benutzt, dann machst du alles richtig. Falls nicht, übergibst du dem Diagramm ja nur ein String, der aussieht wie ein Array, aber gar keins ist.

    Code javascript:
    1
    
    var data = $.parseJSON($("input[type=hidden]").val());
    Number5 bedankt sich. 

  3. #3
    Number5 Number5 ist offline Mitglied Silber
    Registriert seit
    Jun 2005
    Beiträge
    54
    Ok das macht Sinn! Danke!... Wie muss ich die Daten in dem InputFeld bereitstellen, denn es funktioniert leider immer noch nicht...
     

  4. #4
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Hier mal ein funktionierendes Beispiel.
    HTML-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html id="html" xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    	
    	<title>Page title</title>
    
    	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    
    	<script type="text/javascript">
    	/* <![CDATA[ */
    		$(document).ready(function(){
    			var value = $("input[type=hidden]").val();
    			
    			//gibt "[[1,2],[3,4],[5,6]]" als einen String aus
    			alert(value);
    			
    			value = $.parseJSON(value);
    			
    			//gibt 1,2,3,4,5,6 aus (standard array.toString())
    			alert(value);
    			
    			//gibt 5 aus (Array Zugriff funktioniert)
    			alert(value[2][0]);
    		});
    	/* ]]> */
    	</script>
    </head>
    
    <body>
    	<input type="hidden" value="[[1,2],[3,4],[5,6]]" />
    </body>
    
    </html>
    Wie du jetzt mit dem Array weiter verfährst, ist deine Sache. Wenn es aber korrekt gefüllt ist, liegt das Problem ja eher in der Verwendung von FLOT, was ich aber nicht kenne.

    EDIT: Ich hab mir mal flott FLOT heruntergeladen (haha) und hier ein komplettes Beispiel

    HTML-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html id="html" xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    	
    	<title>Page title</title>
    
    	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    	<script type="text/javascript" src="jquery.flot.js"></script>
    
    	<script type="text/javascript">
    	/* <![CDATA[ */
    		$(document).ready(function(){
    			var value = $("input[type=hidden]").val();
    			
    			value = $.parseJSON(value);
    			
    			$.plot($("#placeholder"), [value]); 
    		});
    	/* ]]> */
    	</script>
    </head>
    
    <body>
    	<input type="hidden" value="[[1,2],[3,4],[5,6]]" />
    	<div id="placeholder" style="width:600px; height:300px;"></div>
    </body>
    
    </html>
    Geändert von CPoly (16.10.10 um 18:13 Uhr)
    Number5 bedankt sich. 

  5. #5
    Number5 Number5 ist offline Mitglied Silber
    Registriert seit
    Jun 2005
    Beiträge
    54
    oh man hatte nur die Kommas zwischen den [..] vergessen - jetzt funktionierts! Danke dass du dir soviel Mühe gemacht hast!!
     

Ähnliche Themen

  1. Diagramm anhand von XML Daten zeichnen
    Von filigrani im Forum Flash Plattform
    Antworten: 0
    Letzter Beitrag: 09.01.09, 16:02
  2. Sortieren von Daten für ein Diagramm
    Von brinsche im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 24.01.06, 14:11
  3. Oracle Daten in PHP Diagramm darstellen
    Von tobiastt im Forum PHP
    Antworten: 12
    Letzter Beitrag: 31.08.05, 19:17
  4. Excel-Diagramm: Fehlende Daten auf Rubrikenachse anzeigen
    Von TimSz im Forum Office-Anwendungen
    Antworten: 3
    Letzter Beitrag: 21.06.05, 15:18
  5. VB: Werte in OLE-Excel-Diagramm einlesen
    Von Stiffler im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 06.01.04, 21:16

Stichworte