Bu sefer çok güzel ve oldukça yararlı bir soru ile karşınızdayım. Benim javascript konusunda sınırlarım var. Ancak belirli noktaya geldim ve işlemler çalışıyor. Ancak dahada güzel bir hale getirebiliriz diye düşündüm. Hem ben ve hem siz yararlanmış olursunuz.
İşlem : Jquery POST ediyorum ve mysqlda sorgulama yapıyorum. Tabi ki order by limit kullanıyorum. Örnek vermek gerekirse;
İd | username Tablolarım
$this->db->limit($limit,$kactayim);
$this->db->get('users');
Bu şekilde çağırım yapıyor. Ayrı olarak CURL kullandığım için performans gerekiyor. proccess bar kullanarak ziyaretçilerin hangi aşamada olduklarını gösteriyorum.
Bir formül ile %100 hesaplaması yaptım. Örneğin sorgu limit 1000 / performans için her query başı 25 belirtiyorum.
Formül : 1000/25=40 100/40=2.5
Burada 40 kaç kere for olcağını yani işlem döndürceğini yani 40 defa işlem yapcak jquery. 2.5 ise her işlem için proccess bar göstermesi yani %1 %2 gibi göstermesi için bulduğum birşey.
40x2.5= 100 eder proccess bar da toplam değer 100 olduğu için bunu buldum. Bu sayede 100de 100 olunca 40 tane işlemin yapıldığını gösteriyor. %2.5 ise 1 işlem yapılmıştır. Gibi tabi bu bizim için geçerli kullanıcılar sadece %kısmını görecek...
Örnek Bir kod
function pro(id){
$('#progressbar').progressbar({
value : parseInt(id),
complete: function( event, ui ) {
alert('İşlem bitti');
}
});
}
$(document).ready(function(){
$('#basla').click(function(){
var kac_tane = $('#kac_tane').val(); // Kaç adet girişmiş örnek 1000
var deger = $('#deger').val(); // hidden value 0 olarak atadım. 100/25=2.5 sonucuna göre her seferinde 2.5 artıcak
var sayi = 25; // işlem başı bir limit
var sonuc = kac_tane / sayi; // 1000/25=40
var yuzde = (100 / parseInt(sonuc)); //100/40=2.5
for (var i=0;i<sonuc;i++)
{
$.post("/get_user",{kacta:deger },function(donenVeri){
deger = parseFloat(yuzde) + parseFloat(deger);
pro(deger);
});
}
});
});Yukarda gördüğünüzü elle yazdım ama kodları okuyabilenler amacımı anlamıştır. Benim istediğim daha düzgün birşey çıkartamazmıyız. Çünkü sorgulama yaptığımda post metodunda session tutuyorum bu hiç hoş görüntü olmuyor. Bide for yaparken 40 tane birden yapıyor buda performans etkiliyor. Yardımlarınızı bekliyorum. Teşekkür ederim. Bunu resim upload dosya uploadda hazır modülleri var ancak bunun bulamadım.