| مواقع صديقة: تعلم البي اتش بي - تصميم نت - أفضل استضافة |
| ||||||
| أجاكس AJAX دروس وأكواد عن تقنية أجاكس AJAX وكيفية استخدامها في PHP لبناء مواقع تفاعلية |
![]() |
| | LinkBack (2) | أدوات الموضوع | طريقة العرض |
| |
#1 (permalink)
|
| عضو فعال |
السلام عليكم ... التعامل بين الـ PHP و AJAX و قاعدة البيانات يمكن لنا إستخدام الـ AJAX لغرض الاتصال التفاعلي مع قاعدة البيانات ، دون الحاجة لإعادة فتح الصفحة ... نحتاج في درسنا هذا إلى أربعة أشياء : - قاعدة بيانات - صفحة HTML - ملف جافا سكريبت - صفحة PHP أولا: قاعدة البيانات ... ننشأ قاعدة بيانات باسم " ajax " ، يمكننا إستخدام كمثال هذا الجدول باسم " users " ... على الترتيب id = 1 . 2 . 3 . 4 name = ali . ahmed . amine . mahmoud age = 40 . 24 . 33 . 28 learn = sql . asp . ajax . php تحميل ملف الـ sql لوحده ... ثانيا: صفحة الـ HTML ... سوف نعتمد على هذه الصفحة في مثالنا فهي تفي بالغرض كود هتمل: <html dir=rtl> <head> <script src="selectuser.js"></script> </head> <body> <div align=center> <form> إختر المستخدم <select name="users" onchange="showUser(this.value)"> <option value="1">ali</option> <option value="2">ahmed</option> <option value="3">amine</option> <option value="4">mahmoud</option> </select> </form><div> <p> <div id="txtHint" align=center><b>معلومات المستخدم سوف تظهر هنا</b></div> </p> </body> </html> كما ترون فهي صفحة HTML بسيطة مع صندوق إختيارات ( DropDownBox ) يسمى " users " و مع كل اسم مستخدم ، قيمة الـ id المصاحب له في قاعدة البيانات ... أما الفقرة في الأسفل المحصورة بـالوسم <div> المسمى " txtHint " ، تعمل على إستقبال المعلومات المرسلة من الخادم ... و عند الإختيار ، تنفذ العملية " showUser() " ... هذه العملية مرتبطة بوقوع الحدث " onchange " ... ثالثا: ملف الجافا سكريبت ... نحفظ ملف الجافا سكريبت باسم " selectuser.js " و هو نفس الاسم الذي استدعيناه في صفحة الـ HTML ، و هذا ما يحتويه ... كود: var xmlHttp
function showUser(str)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="getuser.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
}
في عملية showUser() إذا تم الإختيار تقوم العملية بفعل التالي ... - الطلب من عملية GetXmlHttpObject إنشاء الكائن XMLHTTP - نحدد رابط ( اسم الملف ) للإرسال للخادم - نضيف البارامتر " q " للرابط مع محتوى صندوق الإختيارات ( DropDownBox ) - نضيف عدد عشوائي لمنع استخدام خدمة الملف المخبأ ( cached file ) - طلب stateChanged عند حدوث التغيير - فتح كائن XMLHTTP مع الرابط المعطى - إرسال طلب HTTP إلى الخادم رابعا: صفحة الـ PHP ... نسمي هذه الصفحة " getuser.php " ... في هذه الصفحة نستخدم الـ PHP إضافة إلى قاعدة البيانات ... الكود يطلب قاعدة البيانات و يعيد النتيجة لجدول HTML كود PHP: - نتصل بقاعدة البيانات - إستخراج البيانات من الجدول المحدد بحيث المتغير q هو شرط الإستخراج ( و q هو المرسل من طرف ملف الجافا سكريبت و يحمل id الإختيار ) - و يرسل جدول الـ HTML مكان الـ div ذو الاسم " txtHint " يمكنك تحميل ملفات الدرس من المرفقات مع ملف SQL لقاعدة البيانات ( إذا حملت ملفات الدرس ، لن تحتاج لتحميل الملف sql ، فستجده معه ) ، و تشغيل ملف " db.html " على الخادم ... ملاحظة هامة : هذا الدرس مترجم خصصيصا لمنتديات بي اتش بي من موقع W3Schools، و هذا هو رابط الدرس... تحياتي ...
__________________ قام بآخر تعديل aMINE يوم 16-08-2008 في 02:31 PM السبب: تعديل ملف الجافاسكريبت |
| | |
| | #4 (permalink) |
| * أبو عمر * |
درس رائع رائع رائعععع وهي طريقة ممتازة لعرض البيانات بطريقة تفاعلية دون اعادة تحميل الصفحة بارك الله فيك أخي aMINE
__________________ لضمان رد سريع على استفسارك أو موضوعك * تأكد من البحث في المنتدى قبل أن تسأل * احرص على أن تنتقي العنوان المناسب لموضوعك أو سؤالك * قم بصياغة سؤالك بطريقة واضحة مع ذكر تجربتك ومكان الخطأ فيها |
| | |
| | #6 (permalink) | |
| عضو فعال | اقتباس:
شكرا لكما على المرور ، و إن شاء الله عن قريب المزيد من الدروس ... تحياتي ...
__________________ قام بآخر تعديل aMINE يوم 12-06-2007 في 01:02 PM | |
| | |
| | #7 (permalink) | |
| عضو فعال تاريخ الانتساب: 04-03-2007 المكان: العراق
مشاركات: 655
مستوى السمعة : 2 ![]() |
السلام عليكم ومشكور على هذا الموضوع الممتاز لكن لم أفهم ماذا تقصد بهذه الجملة اقتباس:
| |
| | |
| | #8 (permalink) | |
| عضو فعال | اقتباس:
أولا ... شكرا على المرور ... أما الحقوق فأنا لا أقصد الملفات أو استخدام البرمجيات ... بل أقصد هذا الدرس الذي قمت بكتابه خصيصا لمنتدى PHP عند نقله لموقع آخر أو منتدى يجب ذكر الحقوق فقط ...تحياتي ...
__________________ | |
| | |
| | #9 (permalink) |
| عضو جديد تاريخ الانتساب: 29-06-2007
مشاركات: 8
مستوى السمعة : 0 ![]() |
السلام عليكم في بيداية مشاركاتي احيكم جميعا وارسل لكم جزيل الشكر على هذا الدرس المفيد اخواني قد واجهت مشكلة في تطبيق العملية على سكربت خاص سؤال السطل $q=$_GET["q"]; المتغير q على ماذا يجلب؟؟؟ لانو ال form الي عاملو لم تحدد فيه method!!!!! وايضا اي تحدد المتغير q واهل من الممكن عمل متغير ثاني ؟؟؟ المشكلة التي اواجها انه يا يقوم السكربت بقرائة ال المتغير q!!!! مع العلم انا احاول جلب المعلومات في نفس صفحة البي اش بي يعني لدي ملفين فقط الاول للجافا والثاني php فيه القائمة وفيه ايضا عرض النتائج!!!! وشكرا |
| | |
| | #10 (permalink) | |
| * أبو عمر * | اقتباس:
أعتقد أن الكود ناقص في الموضوع قم بتحميل الملف المرفق تجد فيه الكود كامل بلا مشكلة وياريت الأخ أمين يقوم بتعديل الدرس باضافة الكود الناقص في أول ملف الجافاسكريبت
__________________ لضمان رد سريع على استفسارك أو موضوعك * تأكد من البحث في المنتدى قبل أن تسأل * احرص على أن تنتقي العنوان المناسب لموضوعك أو سؤالك * قم بصياغة سؤالك بطريقة واضحة مع ذكر تجربتك ومكان الخطأ فيها | |
| | |
![]() |
LinkBacks (?)
LinkBack to this Thread: http://www.montadaphp.net/t614/ | ||||
| الكاتب | For | Type | التاريخ | |
| ظƒظٹظپ ظ…ظ…ظƒظ† ط¹ظ…ظ„ ظƒظˆط¯ طھط؛ظٹط± ط§ظ„ id ظ…ظ† ط®ظ„ط§ظ„ ط§ط®طھظٹط§ط± ظ…ظ† ظ‚ط§ط¦ظ…ط©طں - ط³ظˆط§ظ„ظپ ط³ظˆظپطھ | This thread | Refback | 16-12-2008 06:55 PM | |
| أجاكس AJAX - منتدى بي اتش بي PHP | This thread | Refback | 15-08-2008 11:27 PM | |
| زوار هذا الموضوع الآن : 1 (0 عضو و 1 ضيف) | |
(View-All)
Members who have read this thread : 31
| |
| abo_abd_elmalk, Abu Rayane, لاسلكي, ميت احساس, aljnoon, alQana9, موهب, Ben.Fat7i, الأسطورة, database, elkhatib2005, gamal_orcl, help9, خا999لد, idiroot, man in dark, MEG, midoalone, Mobtade.php, naris, روعة.م, omardealo, riadalpha, sailormoon, save_php_Q, sherif_2307, Sinator Programmer, the_traveller, trialless, غزوان, yamen |
| أدوات الموضوع | |
| طريقة العرض | |
|
|
مواضيع ذات صلة | ||||
| الموضوع | الكاتب | المجلس | المشاركات | المشاركة الأخيرة |
| (قواعد البيانات)- إنشاء قاعدة البيانات والجدول | coder | دروس قواعد البيانات mySQL | 11 | 12-12-2008 06:38 PM |
| كيفية عرض البيانات من قاعدة البيانات database | petit_petit | مشاكل وحلول PHP Errors & Troubleshooting | 8 | 11-09-2008 06:40 PM |
| شرح جميع دوال التعامل مع قواعد البيانات | عبد الواحد البشيري | دوال التعامل مع قواعد البيانات | 7 | 05-09-2008 01:54 PM |
| البيانات تظهر برموز غريبه عند جلبها من قاعدة البيانات | المتعلمه | مشاكل وحلول PHP Errors & Troubleshooting | 12 | 16-06-2008 02:54 PM |
| مساعدة يا عالم انا جالى كالو فى دماغى من التعامل معا قواعد البيانات | magoo_2003 | أسئلة واستفسارات PHP Questions | 2 | 16-04-2008 10:06 AM |