2017-06-08 49 views
0

我有很多數據來自不同的地方,並且存儲在MySQL數據庫中。我想創建一個儀表板視圖。有兩個問題,如何將數據從Mysql Server加載到儀表板視圖?

  1. 我希望數據在儀表板頁面插入數據庫後立即顯示出來。 (避免使用查找)。
  2. 預計將採用Java/JavaScript語言的解決方案。
  3. 我可以使用firebase或類似的東西來自動加載數據嗎?

我見過一些現場儀表板,我一直在想知道他們是怎麼做到的。如果社區可以提供一些優秀教程的鏈接,那將會很棒。

+0

你有Web服務創建?你應該使用** Ajax **來提供'post'或'get'請求。然後加載這些信息,這將使您在數據庫中插入信息並更改網頁上的信息而無需重新加載。你只需要看看Ajax:我推薦使用Jquery或Angularjs。例如:https://api.jquery.com/jquery.post/ – xsami

+1

我會發佈一個關於如何做的例子。如果您試圖在表格中插入數據 – xsami

回答

1

我可以看到,解決您的問題的一些不同的方法。首先,您必須決定將數據提供至儀表板的位置。

例如:如果你創建了一個Web應用程序,以顯示你的MySql數據庫直接提供了一些數據,你必須創建一個後臺應用程序,處理身份驗證和提供數據。正如你在你的問題中引用的,你需要實時更新。爲此,必須使用WebSocket創建一個體繫結構,它將盡快從MySql提供數據。在這種情況下,您將完全控制系統,不會使用Firebase,但需要額外的工作。

我面對這個問題,在我的情況,我的團隊決定使用火力地堡作爲一種工具來加快這一進程。在我的項目中,我擁有一個龐大的關係數據庫,並且必須爲經理和管理人員在儀表板中提供一些特定信息。我決定編寫一個Java應用程序,從我的生產數據庫中讀取這些數據,並每五分鐘將它們推送到一個Firebase實時數據庫。然後,我們創建了一個Web應用程序,顯示存儲在Firebase中的這些數據。在這種情況下,我不必處理身份驗證(因爲Firebase提供它)和WebSocket。我的後端Java應用程序儘快將數據發送到Firebase,它會顯示在儀表板中,無需重新加載頁面。

在Firebase的GitHub帳戶中,您可以看到許多關於操作將實時更新數據的示例。

https://github.com/firebase/quickstart-js

英語不是我的母語,對可能的錯誤很遺憾。

+0

謝謝,@亞歷山大,非常有用的想法。我喜歡它。 –

0

假設你有上運行的服務:http://localhost:4848/,它有2種方法。在Mysql上的第一個插入,另一個獲取您插入的表的信息。

var apiURL = 'localhost:4848/'; // Web service URL 
 
displayUsers(); // When the documents load 
 

 
function insertUser(input) { 
 
    var apiMethod = 'insert/user'; 
 
    var data = $("#username").val(); 
 

 
    $.ajax({ 
 
    type: "POST", 
 
    url: (apiURL + apiMethod), 
 
    data: data, 
 
    success: function (response) { 
 
     displayUsers(); 
 
    }, 
 
    dataType: 'text' 
 
    }); 
 
} 
 

 
function displayUsers() { 
 
    var apiMethod = 'getAll'; 
 
    $.ajax({ 
 
    type: "POST", 
 
    url: (apiURL + apiMethod), 
 
    success: function (response) { 
 
     $('#user-list').text(response); 
 
    }, 
 
    dataType: 'text' 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form"> 
 
    <input type="text" id="username"> 
 
    <input type="submit" value="Add" onclick="insertUser()"> 
 
</div> 
 
<div class="list" id="user-list"> 
 
</div>

而且看這個Post。關於Firebase我不知道什麼可以幫助你。但我認爲這可能會對你有所幫助。

+0

您可能需要調試一些代碼,但我認爲這可以提供幫助。任何問題只要問 – xsami