2016-10-18 80 views
0

呵呵,您好!使用morris.js我不能創建與MySQL的圖表...... 我在我的數據庫表,其分爲:使用php + mysql填充morris.js

+----+-------+-----------+---------+ 
| id | name | connected | blocked | 
+----+-------+-----------+---------+ 

其中連接並阻斷分別存儲真或假真或假

實施例:

+----+-------+-----------+---------+ 
| id | name | connected | blocked | 
+----+-------+-----------+---------+ 
| 1 | cesar | true  | false | 
+----+-------+-----------+---------+ 

我想顯示連接的客戶端,客戶端斷開的暢通客戶morris.js圖表​​數,阻塞和。

我也覺得我的查詢是錯誤的......在那裏,它是:

$link = mysqli_connect("127.0.0.1", "root", "mysql", "charts"); 
$query = mysqli_query($link, "SELECT * from data"); 

$array = array(); 
while ($row = mysqli_fetch_assoc($query)) 
{ 
array_push(
    $array, 
    array(
     'x' => $row['blocked'], 
     'y' => $row['connected'] 
    ) 
); 
} 
echo json_encode($array); 

$.ajax({ 
    'async': true, 
    'global': false, 
    'url': 'cobaJson.php', 
    'dataType': "json", 
    'success': function (data) { 
     new Morris.Line({ 
      element: 'myfirstchart', 
      data: json, 
      xkey: 'x', 
      ykeys: ['y'], 
      labels: ['Value'] 
     }); 
    } 
}); 
+0

什麼是表名?它是數據嗎?如果是這樣,「數據」是一個保留字。你應該在表名附近使用反引號。 –

+0

這是一個例子... – Cesar

+0

這是一個簡化我試圖做但我做不到的例子。 – Cesar

回答

0

首先,檢查你的迴應,你應該看到它在Chrome瀏覽器開發工具的網絡標籤。

如果正確的鉻可以告訴你你的結構化數據

enter image description here

如果它是不正確的,你可以更好地管理您的查詢是這樣的:

$link = mysqli_connect("127.0.0.1", "root", "mysql", "charts"); 
$query = mysqli_query($link, "SELECT * from data"); 
if(!$query) { 
    die('Mysql error:'. mysqli_error($link)); 
} 

,如果有一個錯誤在執行調用時,您應該會看到chrome dev工具中的錯誤。

+0

[{「x」:false,「y」:true},{「x」:true,「y」:false},{「x」:false,「y」:false}] – Cesar

+0

我無法創建/按照我在那裏寫的方式查看數據。 「我想在morris.js圖表​​中顯示連接的客戶端,斷開連接的客戶端,阻止和未阻止的客戶端的數量。」 – Cesar

+0

你必須改變這段時間內的代碼。 您必須根據時間表對數據進行求和。由您決定使用什麼最小時間間隔。 看看這個例子:http://jsbin.com/uqawig/441/embed?js輸出 因爲你會是你的date_connection,a會被阻塞,而b會被連接。 –