Jump to content
php.lv forumi

editēšanas bloķēšana


Recommended Posts

Nepieciešams mehānisms:

ja lietotājs sāk rediģēt ierakstu X, tad tas nobloķējas (cits lietotājs nevar uzsākt šī ieraksta rediģēšanu - parādās paziņojums, ka ieraksts šobrīd tiek rediģēts un līdz ar to ir bloķēts).

Link to post
Share on other sites

1. varj. uz briidi noblokjee tabulas ierakstu

2. varj. ierakstaa uzlikt kjeksi, ka tabula ir aiznjemta

SELECT editets FROM xxx

parbaudam vai nav 1, ja nav tad talak

Update table xxx SET editets=1

SELECT * FROM xxx --> savacam datus

UPDATE xxx SET izlabotie dati.... , editets=0

ne parak labs variants, jo daudz Kveriju, pie liela apjoma var sanakt gljuks, ka dabuun ka nav Editets , bet kads cits paspej updeitot...

---

skaties sheit, varbuut kautko atrodi

tb virziens kur meklet 'LOCK record'

Edited by Grey_Wolf
Link to post
Share on other sites

Grey_Wolf, bet ko tavā 2. variantā, ja viens labo, labo un šim apnīk un aiztaisa browseri? Kurš tad atliks ķeksi, ka vairs neviens nelabo ierakstu?

 

Var darīt tā:

ieliec pie ieraksta, ka laiku, kad pēdējo reizi aktivizēta labošana. Savukārt labotāja pusē, piemēram, reizi minūtē ar ajax aizsūti, ka ieraksts tiek labots.

Savukārt, lai noteiktu vai var ierakstu labot, salīdzini vai laika starpība starp šo brīdi un pēdējo labošanas aktivizāciju ir lielāka par 5 minūtēm. Ja ir, tad attiecīgi ieraksts vairs netiek labots un var labot. Savukārt, ja ieraksts tiek iesūtīt un saglabāts, tad var uzreiz atmest laiku pa 5 minūtēm atpakaļ, lai nākamais uzreiz var turpināt labot. Šādā veidā, ja kāds aizvērs browseri pier iekasta labošanas, ieraksts nenobloķēsies un pēc 5 minūtēm būs atkal pieejams labošanai. Laikus 1 un 5 minūtes pielāgot pēc vēlmēm un vajadzībām.

Link to post
Share on other sites
Grey_Wolf, bet ko tavā 2. variantā, ja viens labo, labo un šim apnīk un aiztaisa browseri? Kurš tad atliks ķeksi, ka vairs neviens nelabo ierakstu?

Es jau mineju ka nav labs variants. Jaa laiks ir vajadziigs, Bet tomer labak izmantot GET_LOCK iebuuveto f-ju, tur standartaa avr uzstaadiit timeOutu ...

kautgan ieraksta labosana var aiznjemt ilgaku laiku nekaa nepieciesams.. pastav velviens variants--> paspeleties ar tranzakcijaam ...

edit: tomaac, jau nav noraadijis kadi tie dati buus, vai tos labos useris ar rocinjam, vai usera galaa tiks veiktas kadi apdeiti ar skriptu paliidzibu...

pirmajaa gadiijuma, nekas netliks kaa vien veidot lauku ar ierkastu (labo/nelabo [ var timestampu] ), otrajaa varetu izmantot GET_LOCK/ vai tranzakcijas..

Edited by Grey_Wolf
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...