شوّيت: شبكة كرة قدم اجتماعية




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > البرمجية القياسية Ajax +XML+ CSS+ JavaScript وغيرها
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو نشيط
#1  
عمل تحديث لجزء معين فى الصفحة بــ Ajax

السلام عليكم

أخوانى الاعزاء أرجو المساعدة فى أيجاد كود ajax خاص بتحديث جزء معين فى الصفحة أتوماتكيا ويكون بصورة لحظية.

كمثال لو عندى صفحة مبرمجة بلغة php تتحدث فيها بيانات بشكل لحظى مثل بيانات البورصة أو الاحوال الجوية.

هل يمكن عمل هذا التحديث لمتغير معين فى الصفحة مثل

كود:
<div>
     <p><?=$data?></p>
</div>
أريد التحديث اتوماتكيا لهذا المتغير أذا تم تغير قيمته فى قاعدة البيانات بدون تدخل من الزائر.

شكرا






__________________
«·´`·.(*·.¸(`·.¸ ¸.·´)¸.·*).·´`··»
«·´¨*·.¸¸ * P H P Z * ¸.·*¨`·»
«·´`·.(¸.·´(¸.·* *·.¸)`·.¸).·´`·»
phpz is offline   قديم 28-01-2007, 05:23 PM
الرد مع إقتباس
خبير JavaScript
المدخلات في المدونات: 15
#2  

وعليكم السلام
في هذا الموضوع بوجد حلك عدل على حسب مبتغاك

http://www.swalif.net/softs/showthread.php?t=177616






Zizwar is offline   قديم 28-01-2007, 05:40 PM
الرد مع إقتباس
عضو نشيط
#3  

أخى زيزوار مشكور جدا على ردك الكريم

لكنى لم أفهم من الطريقة المذكرة غير ان هذا الكود لعرض الوصلات و جلب الصفح ولكنى أريد عمل تحديث لجزء من الصفحة فيه بيانات و ليست و صلات.

أعتذر جدا لأنى لم أفهم شىء من الكود






__________________
«·´`·.(*·.¸(`·.¸ ¸.·´)¸.·*).·´`··»
«·´¨*·.¸¸ * P H P Z * ¸.·*¨`·»
«·´`·.(¸.·´(¸.·* *·.¸)`·.¸).·´`·»
phpz is offline   قديم 28-01-2007, 05:46 PM
الرد مع إقتباس
خبير JavaScript
المدخلات في المدونات: 15
#4  

ضع هذا الكود في نفس الصفحة و أزل
كود HTML:
<p><?=$data?></p>
عوضه ب
كود HTML:
 <p id="data_include"></p>
واجعل صفحة خارجية هي التي ستستدعيها بالأجاكس نفترض انها هي http://www.wino.ws/test.php?test=data هي التي فيها القيمة $data
وستجد في الكود متغير
كود PHP:
var time 60 // 1 = 1 second 
غير قيمتها ان اردت ان يتم الجلب على حسب توقيت دون تدخل الزائر

الكود كاملا
كود PHP:
 <script type="text/javascript">
<!--
// www.wino.ws & script@wino.ws
var time 60 // 1 = 1 second

include = function(url,method_,send_){
var 
ajax;
if(!
method_)method_ "GET";
if(!
send_)send_ null;
if (!
url) return;
try{
    
ajax = new XMLHttpRequest ();
    }
    catch (
e){
        try {
            
ajax = new ActiveXObject("Msxml2.XMLHTTP");
            }
    catch (
_e_) {
        
ajax = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
ajax.open (method_urlfalse);
ajax.send (send_);
if (
ajax.readyState==4)
    return 
ajax.responseText;
}
window.setTimeout(function(){
document.getElementById('data_include').innerHTML = include('http://www.wino.ws/test.php?test=data')
},
1000*time);
//-->
</script>
<!-- ////////////////// -->

<div>
     <p id="data_include"></p>
</div> 






Zizwar is offline   قديم 28-01-2007, 07:09 PM
الرد مع إقتباس
عضو نشيط
#5  

شكرا اخى زيزوار على هذا الكود الجميل و المتعوب عليه

لكن لى كم ملاحظة على الكود :

- عندما تمت تجربة الكود لا يقوم بعمل المهمة الخاصة به فحتى لو قمت بعمل رفرش للصفحة عن طريق الطريقة العادية عن طريق المتصفح لم تتغير البيانات مع انى قمت بتغيرها فى قاعدة البيانات يجب الذهاب لصفحة البيانات و عمل رفرش لها لكى تتحدث البيانات فى الصفحة الرئيسية ؟

- لقد جربت أن أجعل الوقت
كود PHP:
var time // 1 = 1 second 
فلم أجد أى نتيجة فعندما تقوم بعمل رفرش تأخذ الصفحة ثانية لعمل الرفرش و اذا قمت بوضع 60 ثانية تاخذ الصفحة 60 ثانية للرفرش.

ملحوظة لقد أتبعت الخطوات بالضبط.

و مشكور لتعبك مع اخى زيزوار وجعله الله فى ميزان حسناتك






__________________
«·´`·.(*·.¸(`·.¸ ¸.·´)¸.·*).·´`··»
«·´¨*·.¸¸ * P H P Z * ¸.·*¨`·»
«·´`·.(¸.·´(¸.·* *·.¸)`·.¸).·´`·»
phpz is offline   قديم 28-01-2007, 08:13 PM
الرد مع إقتباس
خبير JavaScript
المدخلات في المدونات: 15
#6  

ضع لي الصفحة او الكود الذي استعملت






Zizwar is offline   قديم 28-01-2007, 10:45 PM
الرد مع إقتباس
عضو نشيط
#7  

مشكور جدا اخى زيزوار على متابعة الموضوع و الردرود

لقد قمت بأرفاق مثال لكى ترى ما أقصده و حاول ان تعدل فى صفحة data.php وسوف ترى أن القيمة لا تتغير فى الصفحة الرئيسية.

ومشكور جدا اخى الكريم






الملفات المرفقة
نوع الملف: zip phpz.zip‏ (1.2 كيلوبايت, 280 مشاهدة)
__________________
«·´`·.(*·.¸(`·.¸ ¸.·´)¸.·*).·´`··»
«·´¨*·.¸¸ * P H P Z * ¸.·*¨`·»
«·´`·.(¸.·´(¸.·* *·.¸)`·.¸).·´`·»
phpz is offline   قديم 29-01-2007, 08:06 AM
الرد مع إقتباس
عضو نشيط
#8  

أخى زيزوار لقد أكتشفت كم شىء أخر

عند بحثى فى المنتدى وجدت نفس الكود فى موضوع أخر http://www.swalif.net/softs/showthread.php?t=179867

فقلت أجرب هذا الكود أبضا مع أنه هو مثل اللى موجود بالضبط :nice

و جربته على متصفح فايرفوكس الاصدار الثانى فعمل الكود بنجاح و تم التغيير لحظيا عند ضبط الوقت عند 1 ثانية.

لكن فى أنترنت أكسبلورر الأصدار السادس لم يتم التغيير حتى عندما أعمل رفرش للصفحة هل الكود يحفظ كاش فى ملفات متصفح أنترنت أكسبلورر أو أن الاكود غير متوافق معه.

أعذرنى على أسألتى الكثيرة و مشكور جدا أخى زيزوار.






__________________
«·´`·.(*·.¸(`·.¸ ¸.·´)¸.·*).·´`··»
«·´¨*·.¸¸ * P H P Z * ¸.·*¨`·»
«·´`·.(¸.·´(¸.·* *·.¸)`·.¸).·´`·»
phpz is offline   قديم 29-01-2007, 02:58 PM
الرد مع إقتباس
خبير JavaScript
المدخلات في المدونات: 15
#9  

نعم في انترنت اكسبلورر يكون الكاش مفعل تلقائيا جرب حذف الكاش او عمل ctrl+f5 ان لم يتم التحديث فلربما يكون هناك اختلاف في التعامل بين دالتي أجاكس
كود PHP:
ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
و
كود PHP:
ajax = new XMLHttpRequest (); 






Zizwar is offline   قديم 30-01-2007, 02:51 AM
الرد مع إقتباس
عضو نشيط
#10  

أخى زيزوار بقد قمت بتجربة عمل ctrl+f5 قبل ذلك لكنها لم تحدث البيانات أيضا.

هل ممكن تشرح لى كيف حذف الكاش من الكود.

لأننى يجب على حذف الكاش من المتصفح من خلال الكويكز و ملفات الانترنت المؤقتة و فى بعد الاحيان لا تتعدل البيانات أيضا.

فهل يوجد حل لهذه المشكلة لكى يفعل الأسكريبت مهمته.






__________________
«·´`·.(*·.¸(`·.¸ ¸.·´)¸.·*).·´`··»
«·´¨*·.¸¸ * P H P Z * ¸.·*¨`·»
«·´`·.(¸.·´(¸.·* *·.¸)`·.¸).·´`·»
phpz is offline   قديم 30-01-2007, 04:46 AM
الرد مع إقتباس
خبير JavaScript
المدخلات في المدونات: 15
#11  

هممم من الأفضل ان ترسل لي الرابط لمعاينته او الكود لأني اشك ان المسألة ليست في الكاش
وقبل ذالك ارجو ان تجرب الكود الجديد http://www.swalif.net/softs/showpost...5&postcount=10






Zizwar is offline   قديم 31-01-2007, 04:11 AM
الرد مع إقتباس
عضو نشيط
#12  

مشكور جدا أخى زيزوار و أعرف انى تعبتك معى لكن هل من الممكن عمل أنكلود من خلال الكود نفسه مثل الكود السابق , أى بمعنى :
كود PHP:
document.getElementById('data_include').innerHTML = include('http://www.wino.ws/test.php?test=data'
لأننى أريد التحديث بدون الضغط على وصلات

و شكرا جزيلا لك اخى الكريم






__________________
«·´`·.(*·.¸(`·.¸ ¸.·´)¸.·*).·´`··»
«·´¨*·.¸¸ * P H P Z * ¸.·*¨`·»
«·´`·.(¸.·´(¸.·* *·.¸)`·.¸).·´`·»
phpz is offline   قديم 31-01-2007, 01:16 PM
الرد مع إقتباس
عضو نشيط
#13  

للرفع للأهمية






__________________
«·´`·.(*·.¸(`·.¸ ¸.·´)¸.·*).·´`··»
«·´¨*·.¸¸ * P H P Z * ¸.·*¨`·»
«·´`·.(¸.·´(¸.·* *·.¸)`·.¸).·´`·»
phpz is offline   قديم 04-02-2007, 02:45 PM
الرد مع إقتباس
خبير JavaScript
المدخلات في المدونات: 15
#14  

كود PHP:
 <script type="text/javascript">
<!--
// [url]www.wino.ws[/url] & [email]script@wino.ws[/email]
//_________________________
var $id "data_include";
var 
$time // 1 = 1 second

var $img_loading '<img src="http://www.napyfab.com/ajax-indicators/images/progressbar_microsoft.gif">';
var 
$msg '<br>loading ....';
//_________________________
var http_request false;

include = function(
$url,$method,$send){
if(!
$url)return false;
if(!
$method)$method "GET";
if(!
$send)$send null;
document.getElementById($id).innerHTML $img_loading+$msg// dellet 
http_request false;
if (
window.XMLHttpRequest) { 
    
http_request = new XMLHttpRequest();
    if (
http_request.overrideMimeType) {
         
http_request.overrideMimeType('text/xml');
        }
    } else if (
window.ActiveXObject) { 
    try {
        
http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (
e) {
        try {
        
http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (
e) {}
    }
}
if (!
http_request) {
        
alert('Cannot create XMLHTTP');
        
document.getElementById($id).innerHTML "";
        return 
false;
    }
    
http_request.onreadystatechange alertContents;
    
http_request.open($method$urltrue);
    
http_request.setRequestHeader('Content-Type''text/html; charset:windows-1256');
    
http_request.send($send);
}
function 
alertContents() {
    if (
http_request.readyState == 4) {
        if (
http_request.status == 200) {
            
document.getElementById($id).innerHTML http_request.responseText;
        } else {
            
alert('There was a problem with the request.');
            
document.getElementById($id).innerHTML "";
            return 
false
        
}
    }
}
window.setInterval(function(){include('http://www.swalif.net/softs')},1000*$time);
//-->
</script>

<!-- ////////////////// -->
 <div align="center" id="data_include"></div> 
يمكنك إزالة هذا السطر ان اردت ان لا تظهر صورة التحميل
كود PHP:
document.getElementById($id).innerHTML $img_loading+$msg// dellet 
كما يمكنك التعديا على الكود الذي أعطيتك قبلا بتغيير هذه الدالة
كود PHP:
window.setTimeout(function(){
document.getElementById('data_include').innerHTML = include('http://localhost/phpz/data.php')
},
1000*time); 
الى
كود PHP:
window.setInterval(function(){
document.getElementById('data_include').innerHTML = include('http://localhost/phpz/data.php')
},
1000*time); 






Zizwar is offline   قديم 04-02-2007, 08:58 PM
الرد مع إقتباس
عضو نشيط
#15  
انا حصلت معى من قبل واليك الحل

حصلت معى واليك الحل
الحل انك توقف الكاش للصفحة
عن طريق ال php

ضع هذا الكود فى كلا الصفحتين
وسيعمل باذن الله

كود PHP:
<?
header 
("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
        
header ("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); // always modified
        
header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
        
header ("Pragma: no-cache");
        
?>






__________________
أسم الشركة :- عرب فور ديزين - Arab4Des
أداء الشركة :- أستضافة وتصميم
هاتف الشركة :- 0124360042
رابط الشركة :- www.arab4des.com
العضويه يستخدمها شخصان
Arab4Des is offline   قديم 20-02-2007, 09:04 PM
الرد مع إقتباس
عضو فعال
#16  

إقتباس:
المشاركة الأصلية بواسطة Arab4Des
حصلت معى واليك الحل
الحل انك توقف الكاش للصفحة
عن طريق ال php

ضع هذا الكود فى كلا الصفحتين
وسيعمل باذن الله

كود PHP:
<?
header 
("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
        
header ("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); // always modified
        
header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
        
header ("Pragma: no-cache");
        
?>
جزاك الله الف خير يالغالي على هذا الكود

افدتني كثيرا حيث كنت اعمل على تطبيق بالأجاكس

وكانت مشكلتي رؤية التعديلات في الأجاكس صعبة بسبب الكاش
الآن التعديل مباشر يظهر بارك الله فيك ونفع بك

السلام عليكم






__________________
كل مالا يعطى يضيع
الإمبراطور وحيد is offline   قديم 21-02-2007, 09:39 AM
الرد مع إقتباس
عضو نشيط
#17  

موضوع كامل عن جزئية تحديث جزء معين بالصفحة
http://www.swalif.net/softs/showthread.php?t=189004

تحياتى






__________________
NileSolutions.biz Creative Web Engineering
Php,Perl,Xhtml,Javascript,Css C++

http://astaza.com/
http://uf3.com
ejasoft is offline   قديم 24-02-2007, 10:07 PM
الرد مع إقتباس
عضو جديد
#18  

شباب انا جربت الكود واشتغل معى تمام على الانترنت اكسبلورر

بس يطلع لى بدل العربى علامات استفهام ؟؟؟؟؟

ياريت حل لمشكلة اللغة

مع انى وضعت الاكواد
كود PHP:
 
@header('(anti-spam-(anti-spam-content-type:)) text/html; charset=windows-1256'); 

كود PHP:
header('(anti-spam-(anti-spam-content-type:)) text/html; charset=windows-1256'); 
ولم تشتغل معى صح بالصورة المطلوبة

فياريت حل لهذة المشكلة






__________________
عاشقين دوت كوم .......
3shqeen.com is offline   قديم 06-09-2007, 09:39 PM
الرد مع إقتباس
عضو فعال
#19  

إقتباس:
المشاركة الأصلية بواسطة 3shqeen.com مشاهدة مشاركة
شباب انا جربت الكود واشتغل معى تمام على الانترنت اكسبلورر

بس يطلع لى بدل العربى علامات استفهام ؟؟؟؟؟

ياريت حل لمشكلة اللغة

مع انى وضعت الاكواد
كود PHP:
 
@header('(anti-spam-(anti-spam-(anti-spam-content-type:))) text/html; charset=windows-1256'); 



كود PHP:
header('(anti-spam-(anti-spam-(anti-spam-content-type:))) text/html; charset=windows-1256'); 
ولم تشتغل معى صح بالصورة المطلوبة

فياريت حل لهذة المشكلة
ممكن الكود اللى جربتة ؟؟


انا جربت كل الاكواد وما تعمل صحيح بالشكل المطلوب






__________________

D0 Th3 B3$T 2B Th3 B3$T !
L1nux - L1f3 Fr33 0R D13
MR_MAMI is offline   قديم 19-09-2007, 12:12 AM
الرد مع إقتباس
عضو نشيط
#20  

مرحبا

إذا كانت AJAX تقوم بعمل تحديث لجزء معين من الصفحة بدون شعور

عندي فكرة
هل نستطيع صنع المتواجدون حاليا لمنتديات بواسطة AJAX ؟
حيث ترى مرئيا عملية دخول أو خروج الأعضاء (بدون تحديث الصفحة)

أنتظر رد زيزوار






__________________
منتديات عين أفقه
http://www.ainfekka.com
Sniper4dz is offline   قديم 14-10-2007, 01:57 PM
الرد مع إقتباس
عضو نشيط
#21  

أعتقد أن عملية استعمال الأجاكس لمعرفة المتواجدون حاليا يقوم بزيادة الضغط على السيرفر لطلب الصفحة التي تعد المتواجدون حاليا وهذا ربما يرهق السيرفر!!






ashrafweb is offline   قديم 28-10-2007, 02:46 PM
الرد مع إقتباس
عضو فعال
#22  

السلام عليكم

الكود رائع ويعمل بشكل ممتاز
لكن اريد تعديل طفيف عليه بعض الشيء وللاسف فشلت

الكود مشكلته في ان التحديث الاول لا يبدأ بمجرد الانتهاء من تحميل الملف
يعني مثلا لو وضعنا الوقت : 60 ثانية
وقمنا بالتجربة ، سنجد ان الصفحة ستنظر لمدة 60 ثانية حتى تبدأ بعملية التحديث

طيب كيف نخلي التحديث يبدأ مباشرة بعد انتهاء تحميل الصفحة ، وبعد ذلك يبدأ التحديث كل 60 ثانية ؟؟

اريد التحديث الاول يبدأ مباشرة بعد الانتهاء من تحميل الملف
وبعد ذلك تتابع التحديثات كل 60 ثانية

لا احد يقولي احط كود انكلود هكذا
كود PHP:
<p id="data_include">
<? include "file.php"?>
</p>
صحيح يفي بالغرض ، لكن هذا يعتبر دمج كامل بالملف الاصلي
بالتالي الملف الاصلي تحميله راح يستغرق وقت اطول
وما راح تظهر صورة للانتظار لحين الانتهاء من التحديث

ما اريده هو بالترتيب التالي :
1) يتم الانتهاء من تحميل الملف الاصلي ( الذي يحتوي على جزء سيتم تحديثه ) باكمله
2) بعد ان ينتهي تحميل الملف الاصلي ، تبدأ عملية التحديث الاولى مباشرة مع ظهور صورة للانتظار لحين الانتهاء من التحديث
3) يتم التحديث الثاني بعد 60 ثانية ، وتتوالى العملية بعد ذلك كل 60 ثانية


ارجو المساعدة وشكرا






الإماراتي is offline   قديم 26-11-2007, 08:47 PM
الرد مع إقتباس
عضو نشيط
#23  

مشكور






mark_cool5 is offline   قديم 11-12-2007, 07:40 PM
الرد مع إقتباس
الرد على الموضوع


 

أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح



جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 08:36 AM.