تابع موضوعات المنتدى الانتساب تعليمات س - ج المفكرة بحث مواضيع اليوم إشارة الأقسام مقروءة

مواقع صديقة: تعلم البي اتش بي - تصميم نت - أفضل استضافة


عودة   منتدى بي اتش بي PHP > قسم لغة بي اتش بي PHP LANGUAGE > دروس بي اتش بي PHP Lessons > أجاكس AJAX

أجاكس AJAX دروس وأكواد عن تقنية أجاكس AJAX وكيفية استخدامها في PHP لبناء مواقع تفاعلية


إضافة رد
 
LinkBack (2) أدوات الموضوع طريقة العرض
قديم 11-06-2007, 04:43 PM   2 links from elsewhere to this Post. Click to view. #1 (permalink)
عضو فعال
 
تاريخ الانتساب: 10-02-2007
المكان: aLGERIA
مشاركات: 473
مشاركات المدونة: 2
مستوى السمعة : 2
aMINE سيحقق الشهرة بما فيه الكفاية قريباً
Lightbulb التعامل بين الـ PHP و AJAX و قاعدة البيانات

السلام عليكم ...

التعامل بين الـ 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:
<?php
$q
=$_GET["q"];

$con mysql_connect('localhost''root''');
if (!
$con)
 {
 die(
'Could not connect: ' mysql_error());
 }
// قاعدة البيانات
mysql_select_db("ajax"$con);
// اختيار الجدول
$sql="SELECT * FROM users WHERE id = '".$q."'";

$result mysql_query($sql);

echo 
"<table border='1'>
<tr>
<th>الاسم</th>
<th>العمر</th>
<th>يدرس حاليا</th>
</tr>"
;

while(
$row mysql_fetch_array($result))
 {
 echo 
"<tr>";
 echo 
"<td>" $row['name'] . "</td>";
 echo 
"<td>" $row['age'] . "</td>";
 echo 
"<td>" $row['learn'] . "</td>";
 echo 
"</tr>";
 }
echo 
"</table>";

mysql_close($con);
?>
توضيح الملف:

- نتصل بقاعدة البيانات
- إستخراج البيانات من الجدول المحدد بحيث المتغير q هو شرط الإستخراج ( و q هو المرسل من طرف ملف الجافا سكريبت و يحمل id الإختيار )
- و يرسل جدول الـ HTML مكان الـ div ذو الاسم " txtHint "

يمكنك تحميل ملفات الدرس من المرفقات مع ملف SQL لقاعدة البيانات ( إذا حملت ملفات الدرس ، لن تحتاج لتحميل الملف sql ، فستجده معه ) ، و تشغيل ملف " db.html " على الخادم ...

ملاحظة هامة :
هذا الدرس مترجم خصصيصا لمنتديات بي اتش بي من موقع W3Schools، و هذا هو رابط الدرس...

تحياتي ...
الملفات المرفقة
نوع الملف : rar db.rar (1.8 كيلو بايت, 329 قراءة)
نوع الملف : sql db.sql (950 بايت, 486 قراءة)

قام بآخر تعديل aMINE يوم 16-08-2008 في 02:31 PM السبب: تعديل ملف الجافاسكريبت
aMINE غير متصل   رد مع اقتباس
قديم 11-06-2007, 09:04 PM   #2 (permalink)
عضو جديد
 
تاريخ الانتساب: 10-06-2007
مشاركات: 9
مستوى السمعة : 0
abdalla-gamal على طريق التميز و النجاح
افتراضي رد : التعامل بين الـ PHP و AJAX و قاعدة البيانات

شكراً على الموضوع الرائع.
abdalla-gamal غير متصل   رد مع اقتباس
قديم 11-06-2007, 09:12 PM   #3 (permalink)
عضو فعال
 
تاريخ الانتساب: 10-02-2007
المكان: aLGERIA
مشاركات: 473
مشاركات المدونة: 2
مستوى السمعة : 2
aMINE سيحقق الشهرة بما فيه الكفاية قريباً
افتراضي رد : التعامل بين الـ PHP و AJAX و قاعدة البيانات

اقتباس:
الكاتب : abdalla-gamal عرض المشاركة
شكراً على الموضوع الرائع.
السلام عليكم ...

العفو أخي ، و أتمنى أن تكون قد استفدت منه ...

تحياتي ...
aMINE غير متصل   رد مع اقتباس
قديم 12-06-2007, 03:01 AM   #4 (permalink)
* أبو عمر *
 
الصورة الرمزية لـ coder
 
تاريخ الانتساب: 24-12-2006
المكان: مصر
السن: 30
مشاركات: 1,773
مشاركات المدونة: 2
مستوى السمعة : 10
coder على طريق التميز و النجاح
افتراضي رد : التعامل بين الـ PHP و AJAX و قاعدة البيانات

درس رائع رائع رائعععع
وهي طريقة ممتازة لعرض البيانات بطريقة تفاعلية دون اعادة تحميل الصفحة

بارك الله فيك أخي aMINE
__________________
لضمان رد سريع على استفسارك أو موضوعك
* تأكد من البحث في المنتدى قبل أن تسأل
* احرص على أن تنتقي العنوان المناسب لموضوعك أو سؤالك
* قم بصياغة سؤالك بطريقة واضحة مع ذكر تجربتك ومكان الخطأ فيها
coder متصل الآن   رد مع اقتباس
قديم 12-06-2007, 08:03 AM   #5 (permalink)
مطور منتديات mysmartbb
 
تاريخ الانتساب: 22-05-2007
المكان: Syria
مشاركات: 280
مستوى السمعة : 2
ايهاب الغزال على طريق التميز و النجاح
إرسال خطاب MSN إلى ايهاب الغزال إرسال خطاب Yahoo إلى ايهاب الغزال مخاطبة ايهاب الغزال بواسطة برنامج المحادثة سكايب ( Skype )
افتراضي رد : التعامل بين الـ PHP و AJAX و قاعدة البيانات

جميل جدا هذا الدرس

بارك الله بك اخي الفاضل

اخوك
ايهاب الغزال
__________________

AJAX with PHP Soon
ايهاب الغزال غير متصل   رد مع اقتباس
قديم 12-06-2007, 12:56 PM   #6 (permalink)
عضو فعال
 
تاريخ الانتساب: 10-02-2007
المكان: aLGERIA
مشاركات: 473
مشاركات المدونة: 2
مستوى السمعة : 2
aMINE سيحقق الشهرة بما فيه الكفاية قريباً
افتراضي رد : التعامل بين الـ PHP و AJAX و قاعدة البيانات

اقتباس:
الكاتب : coder عرض المشاركة
درس رائع رائع رائعععع
وهي طريقة ممتازة لعرض البيانات بطريقة تفاعلية دون اعادة تحميل الصفحة

بارك الله فيك أخي aMINE
اقتباس:
الكاتب : ايهاب الغزال عرض المشاركة
جميل جدا هذا الدرس

بارك الله بك اخي الفاضل

اخوك
ايهاب الغزال
السلام عليكم ...

شكرا لكما على المرور ، و إن شاء الله عن قريب المزيد من الدروس ...

تحياتي ...

قام بآخر تعديل aMINE يوم 12-06-2007 في 01:02 PM
aMINE غير متصل   رد مع اقتباس
قديم 12-06-2007, 03:10 PM   #7 (permalink)
عضو فعال
 
الصورة الرمزية لـ enigma
 
تاريخ الانتساب: 04-03-2007
المكان: العراق
مشاركات: 655
مستوى السمعة : 2
enigma على طريق التميز و النجاح
افتراضي رد : التعامل بين الـ PHP و AJAX و قاعدة البيانات

السلام عليكم ومشكور على هذا الموضوع الممتاز
لكن لم أفهم ماذا تقصد بهذه الجملة
اقتباس:
ملاحظة هامة : يسمح نقل الدرس و لكن بشرط كتابة التالي في النهاية و بخط واضح " المصدر : منتدى بي اتش بي ... montadaphp.net "
يعني إذا نقلنا الدرس فيه حقوق نشر، أم استخدام البرمجيات التي في داخله...، ماذا لو استخدمنا الملفات دون كتابة جملة حقوق النشر؟
enigma غير متصل   رد مع اقتباس
قديم 12-06-2007, 03:18 PM   #8 (permalink)
عضو فعال
 
تاريخ الانتساب: 10-02-2007
المكان: aLGERIA
مشاركات: 473
مشاركات المدونة: 2
مستوى السمعة : 2
aMINE سيحقق الشهرة بما فيه الكفاية قريباً
افتراضي رد : التعامل بين الـ PHP و AJAX و قاعدة البيانات

اقتباس:
الكاتب : enigma عرض المشاركة
السلام عليكم ومشكور على هذا الموضوع الممتاز
لكن لم أفهم ماذا تقصد بهذه الجملة

يعني إذا نقلنا الدرس فيه حقوق نشر، أم استخدام البرمجيات التي في داخله...، ماذا لو استخدمنا الملفات دون كتابة جملة حقوق النشر؟
السلام عليكم ...

أولا ... شكرا على المرور ...

أما الحقوق فأنا لا أقصد الملفات أو استخدام البرمجيات ... بل أقصد هذا الدرس الذي قمت بكتابه خصيصا لمنتدى PHP عند نقله لموقع آخر أو منتدى يجب ذكر الحقوق فقط ...

تحياتي ...
aMINE غير متصل   رد مع اقتباس
قديم 03-07-2007, 10:06 AM   #9 (permalink)
عضو جديد
 
تاريخ الانتساب: 29-06-2007
مشاركات: 8
مستوى السمعة : 0
elkaser على طريق التميز و النجاح
افتراضي رد : التعامل بين الـ PHP و AJAX و قاعدة البيانات

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

اخواني قد واجهت مشكلة في تطبيق العملية على سكربت خاص
سؤال السطل $q=$_GET["q"]; المتغير q على ماذا يجلب؟؟؟ لانو ال form الي عاملو لم تحدد فيه method!!!!! وايضا اي تحدد المتغير q واهل من الممكن عمل متغير ثاني ؟؟؟

المشكلة التي اواجها انه يا يقوم السكربت بقرائة ال المتغير q!!!!

مع العلم انا احاول جلب المعلومات في نفس صفحة البي اش بي
يعني لدي ملفين فقط الاول للجافا والثاني php فيه القائمة وفيه ايضا عرض النتائج!!!!
وشكرا
elkaser غير متصل   رد مع اقتباس
قديم 04-07-2007, 04:25 AM   #10 (permalink)
* أبو عمر *
 
الصورة الرمزية لـ coder
 
تاريخ الانتساب: 24-12-2006
المكان: مصر
السن: 30
مشاركات: 1,773
مشاركات المدونة: 2
مستوى السمعة : 10
coder على طريق التميز و النجاح
افتراضي رد : التعامل بين الـ PHP و AJAX و قاعدة البيانات

اقتباس:
الكاتب : elkaser عرض المشاركة
السلام عليكم
في بيداية مشاركاتي احيكم جميعا وارسل لكم جزيل الشكر على هذا الدرس المفيد

اخواني قد واجهت مشكلة في تطبيق العملية على سكربت خاص
سؤال السطل $q=$_GET["q"]; المتغير q على ماذا يجلب؟؟؟ لانو ال form الي عاملو لم تحدد فيه method!!!!! وايضا اي تحدد المتغير q واهل من الممكن عمل متغير ثاني ؟؟؟

المشكلة التي اواجها انه يا يقوم السكربت بقرائة ال المتغير q!!!!

مع العلم انا احاول جلب المعلومات في نفس صفحة البي اش بي
يعني لدي ملفين فقط الاول للجافا والثاني php فيه القائمة وفيه ايضا عرض النتائج!!!!
وشكرا
وعليكم السلام ورحمة الله

أعتقد أن الكود ناقص في الموضوع
قم بتحميل الملف المرفق تجد فيه الكود كامل بلا مشكلة

وياريت الأخ أمين يقوم بتعديل الدرس باضافة الكود الناقص في أول ملف الجافاسكريبت
__________________
لضمان رد سريع على استفسارك أو موضوعك
* تأكد من البحث في المنتدى قبل أن تسأل
* احرص على أن تنتقي العنوان المناسب لموضوعك أو سؤالك
* قم بصياغة سؤالك بطريقة واضحة مع ذكر تجربتك ومكان الخطأ فيها
coder متصل الآن   رد مع اقتباس
إضافة رد


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
أدوات الموضوع
طريقة العرض
عادي عادي

ضوابط المشاركة
غير مصرّح لك بنشر موضوع جديد
غير مصرّح لك بنشر ردود
غير مصرّح لك برفع مرفقات
غير مصرّح لك بتعديل مشاركاتك

وسوم vB : نشيط
كود [IMG] : نشيط
كود هتمل : خامل
Trackbacks are نشيط
Pingbacks are نشيط
Refbacks are نشيط

الانتقال السريع

مواضيع ذات صلة
الموضوع الكاتب المجلس المشاركات المشاركة الأخيرة
(قواعد البيانات)- إنشاء قاعدة البيانات والجدول 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


يمنع نقل أي من موضوعات المنتدى دون إذن كتابي مسبق من إدارة المنتدى، مع الشكر.
التوقيت حسب جرينتش +3. الساعة الآن 02:10 AM.