Autor | Zpráva | ||
---|---|---|---|
Enngage Profil |
#1 · Zasláno: 16. 2. 2012, 17:56:08
Ahoj,
předpokládejme, že mám klasické fórum s tématy. Uživatel je na stránce s výběrem témat. V tomhle okamžiku někdo jiný přidá příspěvěk do nějákého tématu. Mým cílem je tuto změnu zaznamenat a na stránce uživatele např. zvýraznit dané téma (dát najevo, že došlo ke změně) a to všechno bez potřeby aktualizovat stránku. Mohl by mě někdo prosím nasměrovat správným směrem, jak by se tohle dalo udělat? Stačí mě nasměrovat na správnou metodiku..:) Děkuji :) |
||
Again Profil |
Začni studovat Ajax, pomocí kterého můžeš komunikovat se serverem prostřednictvím HTTP protokolu. Díky němu je možné posílat libovolné dotazy do databáze přes php, potom je následně na straně serveru zpracovat a odeslat zpět bez nutnosti znovu načítání stránky. Dole uvedu několik odkazů z českými & anglickými návody pro Ajax:
http://citron.blueboard.cz/clanek-239-ajax-navod-pro-zacatecniky.html http://jquery-navod.cz/kategorie-ajax/9-ajax http://www.ajaxtutorial.net http://www.learn-ajax-tutorial.com/ K Ajaxu je vhodné také připojit Jquery, což je javascriptová knihovna a díky ní je spolupráce z Ajaxem o poznání lehčí ... |
||
Časová prodleva: 3 dny
|
|||
Chamurappi Profil |
Reaguji na Againa:
„díky ní je spolupráce z Ajaxem o poznání lehčí“ Vážně? V čem? Vždyť je to (v případě XMLHttpRequestu) jen tenký obal. Vesměs všechny možné druhy chyb u AJAXu, které lidi dělají bez jQuery, dělají i s jQuery. S jQuery jich dělají víc, protože nevědí, co se přesně děje pod pokličkou. Reaguji na Enngage: 1) Jsi si jistý, že tvé „klasické fórum“ utáhne výslednou zátěž? To, co chceš, vyžaduješ pravidelné dotazování na server. Pokud máš na fóru hodně lidí, kteří na té stránce s výběrem tráví dlouhé časy, mohlo by to být náročné. 2) Jsi si jistý, že to uživatelé chtějí? |
||
SeparateSK Profil |
Myslím,že chceš niečo takéto:
Potrebuješ 2 súbory: tam kde mas ten script.php status.php Ten súbor kde to chceš mať - toto upozornenie..., dáš toto: <script type="text/javascript" language="JavaScript"> var fsa=0; var fs=0; var start=0; var udalost=false; var url="status.php?id=<?php echo "$_GET[id]";?> "; //toto si upravis, aby to odkazovalo na status.php?forum=ID momentalneho fora function fsize(){ var x; if (this.XMLHttpRequest) { x=new XMLHttpRequest(); } else { x=new ActiveXObject("Microsoft.XMLHTTP"); } x.onreadystatechange=function() { if (x.readyState==4 && x.status==200) { fsa=x.responseText; start+=1; //if(start==1) volaka_funkcia_chatu(); if(fsa>fs) udalost=true; fs=x.responseText; } } x.open("POST",url,true); x.send(); if(udalost) { alert("Niekto pridal nový príspevok"); udalost=false; } } setInterval(function(){fsize();},1000); </script> A status.php: <?php $q=mysql_query("SELECT * FROM fora_prispevky WHERE id=$_GET[id]"); $pocet=mysql_num_rows($q); echo $pocet; ?> |
||
Časová prodleva: 11 dní
|
|||
Enngage Profil |
#5 · Zasláno: 1. 3. 2012, 10:20:06
Takže, aby tohle mohlo fungovat, tak je potřeba se pravidelně dotazovat serveru? Chtěl jsem právě zjistit jestli je i jiná, méně naročnější, možnost. Jak potom funguji chaty? To je v podstatě stejný princip. Nebo zde je nějaké přímé spojení klienta s klientem?
|
||
Chamurappi Profil |
#6 · Zasláno: 1. 3. 2012, 10:50:50
Reaguji na Enngage:
„Jak potom funguji chaty?“ Takhle. „jestli je i jiná, méně naročnější, možnost“ Jiná — špatně podporovaná a na přípravu složitější — možnost existuje. |
||
Časová prodleva: 12 let
|
0