sql >> Databáze >  >> RDS >> Mysql

Existuje způsob, jak „naslouchat“ události v databázi a aktualizovat stránku v reálném čase?

To není příliš těžké. Jednoduchým způsobem by bylo přidat přes .append:

$( '#table > tbody:last').append('<tr id="id"><td>stuff</td></tr>');

Přidávání prvků v reálném čase není zcela možné. Museli byste spustit dotaz Ajax, který se aktualizuje ve smyčce, abyste „zachytili“ změnu. Tedy ne zcela v reálném čase, ale velmi, velmi blízko tomu. Váš uživatel by si skutečně nevšiml rozdílu, i když zatížení vašeho serveru může.

Ale pokud se hodláte zapojit více, navrhoval bych podívat se na DataTables . Poskytuje vám několik nových funkcí, včetně třídění, stránkování, filtrování, omezování, vyhledávání a načítání ajaxu. Odtud můžete buď přidat prvek přes ajax a obnovit zobrazení tabulky, nebo jednoduše přidat přes jeho API. DataTables ve své aplikaci používám již nějakou dobu a jsou neustále uváděny jako funkce číslo 1, díky které je ohromné ​​množství dat využitelné.

--Upravit --

Protože to není zřejmé, pro aktualizaci volaného DataTable nastavte volání Datatables na proměnnou:

var oTable = $('#selector').dataTable();

Poté spusťte toto pro provedení aktualizace:

  oTable.fnDraw(false);

AKTUALIZACE – o 5 let později, únor 2016:To je dnes mnohem více možné, než tomu bylo v roce 2011. Nové frameworky Javascript, jako je Backbone.js, se mohou připojit přímo k databázi a spouštět změny prvků uživatelského rozhraní, včetně tabulek při změně, aktualizaci nebo odstranění dat....je to jedna z hlavních výhod tohoto rámce. Kromě toho mohou být UI aktualizována v reálném čase prostřednictvím připojení soketu k webové službě, kterou lze také zachytit a reagovat na ni. Zatímco zde popsaná technika stále funguje, dnes existuje mnohem více „živých“ způsobů, jak věci dělat.



  1. Aktualizace hodnoty AUTO_INCREMENT všech tabulek v databázi MySQL

  2. Přímý přístup k databázi serveru přes Ajax (bez PHP nebo jiného prostředníka)

  3. Výkon/efektivita 2 příkazů SELECT vs. UNION vs cokoli jiného v MySQL-PHP

  4. Jak funguje funkce REGEXP_SUBSTR() v MySQL