Staram się stworzyć cudne wykresy, dla każdej osoby z tabeli w bazie danych, oczywiście generowane automatycznie, w zależności od ilości rekordów w bazie, korzystam z google charts i mam taki kod:
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Nick','Donated','Received','Ufarmiony Elixir (/1000)','Ufarmione złoto (/1000)','Ufarmiony DE (/10)'],
<?php
$sql2 = "SELECT miejsce from klan";
$conn->query('SET NAMES utf8');
$conn->query('SET CHARACTER_SET utf8_unicode_ci');
$result2 = $conn->query($sql2);
if ($result2->num_rows > 0) {
while($row2 = $result2->fetch_assoc()) {
$tag = $row2["miejsce"];
$sql = "SELECT nick, rdonated, received, uelixir, ugold, udark from klan WHERE miejsce = '$tag'";
$conn->query('SET NAMES utf8');
$conn->query('SET CHARACTER_SET utf8_unicode_ci');
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$uel = $row['uelixir'] / 1000;
$ugo = $row['ugold'] / 1000;
$uda = $row['udark'] / 10;
echo "['".$row['nick']."',".$row['rdonated'].",".$row['received'].",".$uel.",".$ugo.",".$uda."],"; }
}
}
}
?>
]);
var options = {(...)};
<?php $sql = "SELECT miejsce from klan";
$conn->query('SET NAMES utf8');
$conn->query('SET CHARACTER_SET utf8_unicode_ci');
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo 'var chart = new google.visualization.ComboChart(document.getElementById("'.$row["miejsce"].'")); chart.draw(data,options);'; } } ?>
}
</script>
I wywołuje go tym:
<div style="overflow-x:auto" >
<?php $sql = "SELECT miejsce from klan";
$conn->query('SET NAMES utf8');
$conn->query('SET CHARACTER_SET utf8_unicode_ci');
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<div id="'.$row["miejsce"].'" style="width: 100%; height: 100%;"></div>';}}?> </div>
Mam już połowę sukcesu, bo wykres jest generowany tyle razy, ile jest rekordów, tylko problem leży w tym, że każdy pokazuje to samo
, czyli dane wszystkich w bazie, nie osoby z konkretnego miejsca, bądź tagiem.
Jakieś wskazówki, pomysły?