| 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: 12 let
|
|||
0