HTML表显示Firebase实时数据库数据

时间:2019-01-20 05:28:05

标签: javascript jquery html firebase

因此,我一直在使用此代码从我的Firebase实时数据库中获取数据,它可以正常工作。但是我得到的唯一问题是代码本身不会刷新。

这是在数据库中添加或删除数据之前的图像

https://imgur.com/a/2r6us3f

这是在数据库中添加或删除数据后的图像

https://imgur.com/a/wg10EPY

最新数据用红色圈出。

我如何使其刷新整个代码?我只想获取新的“ child_added”

<table class="table table-hover" id="svclist">
     <tr>
<th>Full Name</th>
<th>Car Model</th>
<th>Car Number</th>
 <th>Service Center</th>
<th>Service Type</th>
<th>Service Date</th>
<th>Service Time</th>
<th>Remarks</th>
<th>Person In Charge</th>
<th>Action</th>
</tr>
 </table>

   <script>
    var database = firebase.database();

   database.ref().child("Service Schedule").on('value', function (snapshot) 
       {
          if (snapshot.exists()) {
            var content = '';
            snapshot.forEach(function (data) {
            var val = data.val();
               content += '<tr>';
              content += '<td>' + val.Name + '</td>';
              content += '<td>' + val.CarModel + '</td>';
              content += '<td>' + val.CarNumber + '</td>';
              content += '<td>' + val.ServiceCenter + '</td>';
              content += '<td>' + val.ServiceType + '</td>';
              content += '<td>' + val.ServiceDate + '</td>';
              content += '<td>' + val.ServiceTime + '</td>';
               content += '<td>' + val.Remarks + '</td>';
                  });
               $('#svclist').append(content);
                  }
                })</script>

1 个答案:

答案 0 :(得分:0)

据我了解,您希望表格反映加载页面后 发生的事件。这样,您可以丢弃以前的数据点。

一种简单的方法是在您的数据中添加一个Sub Search_Click() Dim x1, i As Long, ii As Long, iii As Integer x1 = [myCar] Application.ScreenUpdating = False With ListBox1 If TextBox2 = "" Then .RowSource = "myCar" Else .RowSource = "" For i = 1 To UBound(x1, 1) If LCase(x1(i, 2)) Like LCase(TextBox2) & "*" Then 'Search location column 2 For ii = 1 To 10 .AddItem .List(iii, ii - 1) = x1(i, ii) Next iii = iii + 1 End If Next End If End With End Sub 属性。因此,在检索项目时,您可以过滤所有在timestamp之前创建的项目。看起来像这样

timestamp

对于删除项目,可以使用ref.orderByChild('timestamp').startAt(Date.now()).on('child_added', function(snapshot) { console.log('new record', snap.key()); }); 事件。这是Firebase's docs

中的示例
child_removed