Page 1 of 2
[Javascript] MYSQL atnaujinimas keičiant INPUT
Posted: 2013 Mar 30 20:26
by psychical
Ar apsimoka daryti taip, jog aš rašau informaciją į input (text) ir su kiekvienu raidės paspaudimu atnaujinu mysql'e keičiamą tekstą? Kaip bebūtų, norėčiau (jei įmanoma) sužinoti ar tai yra geras variantas, jei ne, tuomet koks variantas geresnis ir aišku, praverstų kodas.
Re: [Javascript] MYSQL atnaujinimas keičiant INPUT
Posted: 2013 Mar 30 21:39
by aaarnas
Nelabai geras variantas. Labai apkrausi mysql serverį.
Priklausomai nuo to ką tu nori padaryti, tai geresnis variantas būtų rašyti simbolius į buferį ir kas kelis simbolius ar kas tam tikrą laiką į serverį. Su laiko funkcijom padirbėti. Patikrinti kada paskutinis atnaujinimas ir tarkim kas 5s atnaujinti informaciją duombazėje, jei buvo kažkokie mygtukų paspaudimai.
Re: [Javascript] MYSQL atnaujinimas keičiant INPUT
Posted: 2013 Mar 30 21:42
by psychical
aaarnas wrote:Nelabai geras variantas. Labai apkrausi mysql serverį.
Priklausomai nuo to ką tu nori padaryti, tai geresnis variantas būtų rašyti simbolius į buferį ir kas kelis simbolius ar kas tam tikrą laiką į serverį. Su laiko funkcijom padirbėti. Patikrinti kada paskutinis atnaujinimas ir tarkim kas 5s atnaujinti informaciją duombazėje, jei buvo kažkokie mygtukų paspaudimai.
Bet tada bus bereikalingas tikrinimas, jei žmogus pasikeis ir po to nebekeis nieko. Aš noriu taip, kad įvesčiau duomenis ir mane nereikėtų jų atnaujinti. Ta prasme, norint atnaujint, mane nereikėtų submitint formos ar pnš.
Re: [Javascript] MYSQL atnaujinimas keičiant INPUT
Posted: 2013 Mar 30 22:38
by aaarnas
Tai jau geriau tikrinimas, nei junginėjimasis prie duombazės. Tai kai paspaudžia mygtuką, tikrini įrašai raides į buf. Nuo pirmo paspaudimo tarkim po 5s turi pareiti update ir įrašyti buferį į duombazę. Jei nespaudžiam mygtukų, tai buferis nėra pildomas ir paprasčiausiai taimeris net neiškviečiamas. Tas tikrinimas šiuo atveju yra niekinis.
Be to, tai nėra labai gera idėja, nes nėra užtikrinimo, kad įvesti duomenys tikrai įrašomi. Jei kažką parašys ir išjungs formą, tai gali kažkas neišsisaugoti. Siūlau daryti taip, kad viskas gražiai būtų:
Žmogus pradeda kažką rašyti į laukelį. Ir imam pvz laiką nuo pirmo paspaudimo. Kiekvieną paspaudimą atnaujinam laiko rodmenis ir jei po paskutinio paspaudimo praėjo tarkim 2s, tada viską ką jis parašė siunčiam į duombazę. Kai jis baigia rašyti (nors laukelis aktyvuotas), po poros sekundžių tegu šalia laukelio užsidega žalia varnelė ir pranyksta. O tuo momentu kai jis rašo, tegu šalia sukasi rutuliukas, kad atnaujinama.
Esmė: tuo momentu kol rašo, tegu rašo. Kai tik sustoja rašyti - tada atnaujinam.
Re: [Javascript] MYSQL atnaujinimas keičiant INPUT
Posted: 2013 Mar 30 23:10
by psychical
aaarnas wrote:Žmogus pradeda kažką rašyti į laukelį. Ir imam pvz laiką nuo pirmo paspaudimo. Kiekvieną paspaudimą atnaujinam laiko rodmenis ir jei po paskutinio paspaudimo praėjo tarkim 2s, tada viską ką jis parašė siunčiam į duombazę. Kai jis baigia rašyti (nors laukelis aktyvuotas), po poros sekundžių tegu šalia laukelio užsidega žalia varnelė ir pranyksta. O tuo momentu kai jis rašo, tegu šalia sukasi rutuliukas, kad atnaujinama.
Esmė: tuo momentu kol rašo, tegu rašo. Kai tik sustoja rašyti - tada atnaujinam.
Surašei ir išdėstei gražiai ir protingai, bet kad aš javascript nemoku ;D
Code: Select all
$(document).ready(function() { $("#kazkas").keyup(function() { var dInput = $(this).val(); alert(dInput); });});
Šis, registruoja kiekvieną mygtuko atleidimą
Re: [Javascript] MYSQL atnaujinimas keičiant INPUT
Posted: 2013 Mar 30 23:58
by aaarnas
Na aš irgi dabar neparašysiu taip iš karto. Reikia reference pažiūrėti. Pseudo kodu:
function keyup() {
if (timer) update_timer(2 sec, "update")
else {
set_timer(2 sec, "update")
timer = true // Or timer id or sth
document.getElementById("indikatorius").innerHTML = "<img src='ratukas'>"
}
}
function update() {
mysql_update(document.getElementById("laukelis").value);
document.getElementById("indikatorius").innerHTML = "<img src='varnele'>"
timer = false
}
Jei problem, tai sakyk, rašysim visi kartu.
Re: [Javascript] MYSQL atnaujinimas keičiant INPUT
Posted: 2013 Mar 31 00:42
by psychical
Kas gavos:
http://pasl.rez.lt/
Kodas:
Code: Select all
<!DOCTYPE html><html><head><script>var tid = 0;var timer = false; function keyup(){ if(timer) { clearTimeout(tid); tid = setTimeout(update, 2000); } else { timer = true; // Or timer id or sth document.getElementById("indikatorius").innerHTML = "<img src='x.png'>"; tid = setTimeout(update, 2000); }} function update(){ document.getElementById("indikatorius").innerHTML = "<img src='v.png'>"; timer = false; abortTimer();} function abortTimer(){ clearTimeout(tid);}</script></head><body> <input type="text" onkeyup="keyup()"><div id="indikatorius"></div> </body></html>
Bet man vistiek kažkaip atrodo, kad nekažkaip gaunas, nors V/X atsiranda laiku, kaip reikia
Re: [Javascript] MYSQL atnaujinimas keičiant INPUT
Posted: 2013 Mar 31 00:53
by aaarnas
O tai kas blogai? V/X parodo, kad viskas tvarkoj. update funkcijoje kreipkis į failiuką ir siųsk laukelio duomenis.
Re: [Javascript] MYSQL atnaujinimas keičiant INPUT
Posted: 2013 Mar 31 09:33
by newb
Galima autocompleta padaryti ir kai paraso iki galo zodi is duotu, tada jau siusti uzklausa, jei tau toks variantas tiks.
Re: [Javascript] MYSQL atnaujinimas keičiant INPUT
Posted: 2013 Mar 31 12:41
by psychical
newb wrote:Galima autocompleta padaryti ir kai paraso iki galo zodi is duotu, tada jau siusti uzklausa, jei tau toks variantas tiks.
Netinka, nes žmogus į šitą dalyką įrašys steamid/nick tai autocomplete niekaip padaryti neis. Pasidariau preliminarų variantą su ajax, bet man jis kažkaip nelabai besisukantis (panašus į aukščiau pateiktą)