PDA

View Full Version : تغییر کد jquery بوسیله php



toopak
جمعه 09 اسفند 1392, 16:38 عصر
سلام
من یک progressbar دارم که تو قسمت body به صورت <div id="progressbar"></div> نوشته میشه و در قسمت head یک value میگیره که درصد رو تعین میکنه
حالا تو قسمت کد های php یه سری کار انجام میشه که میخوام تو حلقه هر دفعه مقدار پروگرس بار رو افزایش بدم ولی نمیدونم چجوری باید value جدید رو برای کد jquery بفرستم
لطفا راهنمایی کنید
ممنون

toopak
پنج شنبه 15 اسفند 1392, 14:59 عصر
هیچ کس...هیچ چیز؟؟ :دی
تاپیک بیا بالا

maysam.m
پنج شنبه 15 اسفند 1392, 15:17 عصر
این کار خیلی پیشرفته تر از چیه که فکر میکنید
من قبلا دنبال همچین کاری بودم و از انجام چنین کاری پشیمون شدم

به جای درصد بهتره یه عکس لودینگ قرار بدید

toopak
پنج شنبه 15 اسفند 1392, 15:39 عصر
خب آخه پس دلیل ساخت همچین چیزی چیه؟ احتمالاً یه روش منطقی باید وجود داشته باشه

MMSHFE
پنج شنبه 15 اسفند 1392, 21:39 عصر
هیچ چیز خاصی نداره. باید از AJAX استفاده کنید. ابداً هم چیز پیچیده و پیشرفته ای نیست.

leaping
جمعه 16 اسفند 1392, 09:37 صبح
هیچ چیز خاصی نداره. باید از AJAX استفاده کنید. ابداً هم چیز پیچیده و پیشرفته ای نیست.
تایید میکنم و انجامش دادم ... میثم جان همیشه فک میکنن انجام این کارها فوق بشریه :D

ببین یه چیز تو این مایه ها به دردت میخوره یا نه؟


$.ajax({
xhr: function(){
var xhr = new window.XMLHttpRequest();
//Upload progress
xhr.upload.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
//Do something with upload progress
console.log(percentComplete);
}
}, false);
//Download progress
xhr.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
//Do something with download progress
console.log(percentComplete);
}
}, false);
return xhr;
},
type: 'POST',
url: "/",
data: {},
success: function(data){
//Do something success-ish
}
});

maysam.m
جمعه 16 اسفند 1392, 19:27 عصر
من پارسال یه مدت طولانی دنبال این قضیه بودم که به نتیجه نرسیدم
فکر میکنم این کد فقط سمت کلاینت باشه و مقدارش رو با توجه به جی کوئری ساخته میشه و نمیتونه کد در حین اجرای پی اچ پی رو دریافت کنه و براساس اون درصد رو نشون بده

من چند تا روش رو بررسی کردم که یکیش با استفاده از فلش بود

الان من دو یه کد سمپل میگذاریم شما به من بگید چطور میشه حین پردازش مقدار به سمت کلاینت ارسال کرد:



$total = 0;
for($i = 0; $i<= 1000; $i++):
for($j = 0; $j<= 1000; $j++):
if($j == 0):
$total = $total + $j;
endif;
endfor;


echo $i;


endfor;



با جی کوئری هم میخواهیم عدد ارسال شده از سوی PHP رو دریافت و میزان درصد پیشرفت کار رو نمایش بدیم

MMSHFE
جمعه 16 اسفند 1392, 20:48 عصر
خوب شما اینطوری نباید کار کنید که! شما توی پردازشتون تا هرجا رفته جلو، نتیجه رو یه جایی (توی دیتابیس یا توی فایل و... ذخیره کنید. برای مثال، اگه این اسکریپت داره رکوردها رو تغییر میده، یک فیلد به جداول اضافه کنید که قبل از تغییر، صفر باشه و هر رکوردی تغییر میکنه، 1 بشه. حالا یک اسکریپت دیگه بنویسید که نگاه میکنه چندتا رکورد تغییر کرده و تعداد کل رکوردها چقدره و نسبت این دو تا رو برحسب درصد، echo میکنه و با AJAX اون اسکریپت رو صدا بزنید.

maysam.m
جمعه 16 اسفند 1392, 21:55 عصر
خوب شما اینطوری نباید کار کنید که! شما توی پردازشتون تا هرجا رفته جلو، نتیجه رو یه جایی (توی دیتابیس یا توی فایل و... ذخیره کنید. برای مثال، اگه این اسکریپت داره رکوردها رو تغییر میده، یک فیلد به جداول اضافه کنید که قبل از تغییر، صفر باشه و هر رکوردی تغییر میکنه، 1 بشه. حالا یک اسکریپت دیگه بنویسید که نگاه میکنه چندتا رکورد تغییر کرده و تعداد کل رکوردها چقدره و نسبت این دو تا رو برحسب درصد، echo میکنه و با AJAX اون اسکریپت رو صدا بزنید.

سمت کاربر هم چند ثانیه مقدار جدید رو بگیریم؟ یعنی چند تا درخواست جی کوئری تا رسیدن به 100 درسته؟