お時間をいただきありがとうございます。 私は2つの質問があり、私はこれで非常に新しいです。PHP MySQLカウントIFチャートと列/行からデータを取り出す
私が達成しようとしているのは、osticketデータベースからデータを取得し、Googleグラフに円グラフを表示させることです。私は、データを取得するコードを取得することができますが、それはほとんどの列のための罰金ですが、すべての行を引っ張っているが、 "isoverdue" 1つの列の場合は、行= 1です。 ifステートメントを追加するにはいくつかの異なる方法がありますが、それらは常にMySQLエラーに失敗します。
私が抱えている2番目の問題は、動的に更新するGoogleコードを取得する方法です。私はそれをプルからの結果でハードにコード化しましたが、どうやって作ることができるのだろうかと疑問に思っています。おそらく私は新しい変数を必要とするので、カウントを合計しますか?
<?php
$servername = "localhost";
$username = "";
$password = "";
$db = "";
$dbh = new PDO("mysql:host=$servername;dbname=$db", $username, $password);
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
foreach($dbh->query('SELECT COUNT(created) FROM ost_ticket') as $opened);
foreach($dbh->query('SELECT COUNT(closed) FROM ost_ticket') as $closed1);
foreach($dbh->query('SELECT COUNT(isoverdue) FROM ost_ticket') as $overdue);
echo "<tr>";
echo "<td>".$opened['COUNT(created)']."</td>", "<td>".$closed1['COUNT(closed)']."</td>", "<td>" .$overdue['COUNT(isoverdue)']."</td>";
echo "</tr>";
?>
<html>
<head>
<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([
['Status', 'Hours per Day'],
['Opened', 8],
['Closed', 5],
['Overdue', 3],
]);
var options = {
title: 'My Daily Activities'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="piechart" style="width: 900px; height: 500px;"></div>
</body>
</html>
もう一度この点を確認していただきありがとうございます。 isoverdue
ため
、その後、Googleのチャートに渡さAJAXから呼び出されるPHPビルドJSONオブジェクトを有するお勧め[データテーブル](https://developers.google.com/chart/interactive/docs/この[最近の回答](http://stackoverflow.com/a/38955110/5090771)に似た参照#constructor_1) – WhiteHat
チケットが実際に閉じられるまで、閉じた列がNULLの場合、それは機能します。 'COUNT()'はヌルでない行だけをカウントするので、 'NULL(NULL)でない可能性が高い' COUNT(作成済み) 'とは異なります。 –
GentlemanMax
ありがとう、100%は確かではありません... – WhiteHat