PHP: Ловење на промени во база

  • Креатор на темата Креатор на темата ONE
  • Време на започнување Време на започнување

ONE

Член од
21 декември 2008
Мислења
895
Поени од реакции
64
Здарво на сите,

Веќе исзвесно време пробувам да најдам како можам со Ajax да ловам промени во база и подоцна одма да ги ажурирам податоците, како на пример на Фејсбук, кога остава некој коментар на твојот пост автоматски без никаков рефреш се покажува промената и кај тебе. Ако некој знае како или да ми даде некој линк каде може да прочитам како се извршуваат тие ловења супер ќе биде.

Ви благодарам
 
Ја мислам дека ФБ тоа го прави со нивното модифицаро колаче кое ја нарушува приватноста. Бедејќи колачето цело време ве следи.
Немаора да биде точно, знам дека така прочитав некаде
 
Абе ФБ го земав само како пример, имам видено и на други места. Еве на пример на ГМАИЛ, ти си на страната и ти стига нова порака и одма ја прикажува без да прафи рефреш. Мислам дека ме разбирате што сакам да направам
 
Абе ФБ го земав само како пример, имам видено и на други места. Еве на пример на ГМАИЛ, ти си на страната и ти стига нова порака и одма ја прикажува без да прафи рефреш. Мислам дека ме разбирате што сакам да направам

Знам што сакаш да направиш. Имав многу добро туторијалче за тоа, мислам дека беше со jQuery или MooTools но не сум сигурен. Побарај низ интернетов, има. А ако го најдам ќе ти пратам.
 
Па и гугл го користи истиот метод.:)
Мислам дека идејава тешко дека ке ја реализираш, но почекај поискусневе нека ти одговорат може има надеж
 
Имаш повеќе техники. Наједноставна е техниката со постојан ајах рифреш, ако најдеш промена само испринтај на сајт. Ова е лошо за големи бази со многу корисници пошто ќе ти рикне серверот.

Во секој случај мора да имаш еден лисенер што ќе евидентира промени и добро оптимизиран алгоритам за проверка за да не црпи многу ресурси.
 
Епа кој е тој лисенер, дали имате некој пример или страна со пример каде може да видам како функционира тоа чудо. Прво сакам да пробам на мали бази.
 
Тригерот повеќе фунцкионира како реакција на акција...
Во mysql мислам дека го нема ова барем не во некомерцијалната верзија.
Највероватно имаат некаков пул сервис стварно не знам...

SQL SERVER 2005 ја имаа имплементирано оваа функционалност одамна ама затоа лиценцата е бајаги солена.
 
Решението е имплементација на Comet/Ajax Push. Мислам дека има(ше) comet plugin за jQuery, не сум сигурен. Читни малку за тоа и за long polling, па одлучи дали можеш да инвестираш време и труд за да го имплементираш тоа.
 
Треба да си имплементираш некаков пулинг на ајакс ниво кој ќе чека известувања за промени и паблиш/сабскрајб систем во бекенд кој ќе ги регистрира промените и ќе ги известува заинтересираните.
Тригерите можата да бркаат работа ама не им е местото тука туку повеќе се за интерна работа во базата, промените треба да ги ловиш на апликациско ниво со евент дривен механизам како пабсабот.
 
Јас најдов една екстензија која се вика АРТЕ (Ajax Real-Time Extension), која може и да ми помогне во овој случај.

http://code.google.com/p/arte/wiki/Index#Examples

Дали воопшто ти треба било каква екстензија. Како да го решиш многу зависи од структурата на базата и комплексноста на проверката која ја правиш. Ако е нешто едноставно, тогаш ао Ajax прави позадински проверки и не му се мисли. Ако е многу комплексно квери, тогаш за да не го оптеретуваш ДБ серверот оди со тригер, кој би запишувал промени во некоја темп табела да кажеме шифра на корисник и време на последна промена. ВО тој случај пак ќе ја сведеш проверката на едноставно квери но сега со времето во темп табелата, па ако има измени изврши го комплексното квери. Верувам дека веќе го имаш алгоритмот за проверка на базата и испишување на податоците така да користење на екстензии мислам дека само би ти го искомплицирале решението.
 

Kajgana Shop

Back
На врв Bottom