• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] [Chart.js] Bar ist nicht zu sehen

Bruno

New member
Moin jswelt,

ich habe momentan ein Problem mit der Darstellung von chart.js, wobei ihr mir evtl. weiterhelfen könnt, denn ich verzweifel gerade etwas daran.

PHP:
<?php	
	require "./config/_db_daten.php";
	
	$datenbank = mysql_select_db("tuc");
	
	$query = "SELECT * FROM question";
	$resultat= mysql_query($query)or die("SQL Error 1: " . mysql_error());

	while ($row = mysql_fetch_array($resultat)) {
			$vote = array(
					'suma' => $row['suma']
			);
	}			
	$js_suma = json_encode($vote);
	?>	
	
	<html>
	<head>
		<title>Bar Chart</title>
		<script src="./chart.js/Chart.js"></script>
	</head>
	<body>
		<div style="width: 50%">
			<canvas id="canvas" height="450" width="600"></canvas>
		</div>
		
<script>
	
var barChartData = {
        labels : 'A',
                    datasets : [
            {
                fillColor : "rgba(220,220,220,0.5)",
                strokeColor : "rgba(220,220,220,1)",
                data : '<?php echo print_r($js_suma,true); ?>'
            }

        ]
                   }

var myLine = new Chart(document.getElementById("canvas").getContext("2d")).Bar(barChartData);
</script>
</body>
</html>

Danke schon mal vorab für die Hilfe.
 
Mir werden momentan nur die Labels angezeigt, der Graph ist jedoch nicht zu sehen. Von daher denke ich fast, dass etwas mit dem fetch nicht so richtig stimmt, jedoch finde ich einfach keinen Fehler.
 
Hey hesst,

weiß jetzt nicht so wirklich worauf du hinaus willst, da ich eigentlich davon ausgegangen bin, dass

HTML:
<div style="width: 50%">
            <canvas id="canvas" height="450" width="600"></canvas>
        </div>

der HTML-Code sei.
 
So das ist was beim browser ankommt:

HTML:
	<html>
	<head>
		<title>Bar Chart</title>
		<script src="./chart.js/Chart.js"></script>
	</head>
	<body>
		<div style="width: 50%">
			<canvas id="canvas" height="450" width="600"></canvas>
		</div>
		
<script>
	
var barChartData = {
        labels : 'A',
                    datasets : [
            {
                fillColor : "rgba(220,220,220,0.5)",
                strokeColor : "rgba(220,220,220,1)",
                data : '{"suma":"0"}'
            }

        ]
                   }

var myLine = new Chart(document.getElementById("canvas").getContext("2d")).Bar(barChartData);
</script>
</body>
</html>

Demnach kommen die Werte nicht an, aber wieso?
 
Demnach kommen die Werte nicht an, aber wieso?
sie kommen ja an, nur ist es das was du willst?
Code:
while ($row = mysql_fetch_array($resultat)) {
  $vote = array(
    'suma' => $row['suma']
   );
}
ein array, mit key suma und dem wert der spalte suma in der letzten zeile der abfrage?
 
also evtl. habe ich ja einen Denkfehler eingebaut.
Momentan gehe ich davon aus, dass suma alle Werte der Spalte suma aus der DB question in ein Array schreibt und ich im Anschluss mit

Code:
 data : '<?php echo print_r($js_suma,true); ?>'

auf die Werte aus dem Array suma zurückgreifen kann.
 
Code:
while ($row = mysql_fetch_array($resultat)) {  // für jede zeile im result
  $vote = array(                               // erzeuge ein array und weise es der variablen $vote zu
    'suma' => $row['suma']
   );
}
 
Wenn ich mir über 'echo json_encode($row)' etwas ausgeben lasse kommt "FALSE" statt der Wert aus der DB.
Von daher frage ich mal anders, weil ich so immer noch nicht weitergekommen bin. *leider

Stell dir vor du hast eine DB, welche mehrere Zeilen hat, die wiederum jeweils einer ID zugeordnet sind, dort willst du aus den Spalten A, B, C & D einen Wert abgreifen und diesen dann in ein Balkendiagramm von chart.js übergeben. Wie würdest du das anstellen?
 
Zurück
Oben