Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 22. 1. 2015, 13:25:43
Dobrý den. Rád bych udělal to že bych každou vteřinu zkontroloval jestli není v DB nějaký nový řádek a pokud ano tak ho přidal. Tzn.
setInterval(function(){ $(".main-frame").load("/plugins/ajax/skript.php"); },1000); //pomocí tohoto skriptu bych se ptal na příspěvky. Dokázal by mi někdo pomoct jak zobrazit při prvním načtení všechny řádky z db a pak je jen kontrolovat a přidávat pokud bude nějaký nový? Předem děkuji za odpovědi. |
||
unlucky Profil |
#2 · Zasláno: 22. 1. 2015, 13:42:25
Teďka mě napadlo mysqli_info si zjistit poslední query, pak podle toho zobrazovat všechny řádky nebo nové.
|
||
Dan Charousek Profil |
Na takto frekventované dotazy by mohlo být lepší použít takzvaný long polling.
Co se prvního requestu týče, můžeš kontrolovat, zda je .main-frame prázdný nebo ne a pak na základě parametru v adrese vracet všechny nebo nejnovější výsledky: setInterval(function(){ var main = $(".main-frame"); var param = main.html() == "" ? "all" : "last"; main.load("ajax/script.php?param=" + param); }, 1000); |
||
juriad Profil |
#4 · Zasláno: 22. 1. 2015, 14:36:17
Dan Charousek:
Long polling funguje jen se speciálními / speciálně nastavenými servery a provadět dotaz každou sekundu fakt ne. V případě článků myslím stačí něco jako minuta. Také je nutné první články zapsat do stránky už při jejím generování, pokud by byly přidané JS, někteří uživatelé a vyhledávače by je neznali. |
||
Dan Charousek Profil |
#5 · Zasláno: 22. 1. 2015, 15:01:53
juriad:
Sekundové intervaly jsem jen pro svou lenost nezměnil z původní Fisakovy funkce :) |
||
Časová prodleva: 9 let
|
0