دروس PHP

PHP الرئيسية مقدمة PHP تثبيت PHP بناء جملة PHP تعليقات PHP متغيرات PHP PHP صدى / طباعة أنواع بيانات PHP سلاسل PHP أرقام PHP PHP الرياضيات ثوابت PHP مشغلي PHP PHP إذا ... آخر ... Elseif مفتاح PHP حلقات PHP وظائف PHP مصفوفات PHP PHP Superglobals PHP RegEx

نماذج PHP

معالجة نموذج PHP التحقق من صحة نموذج PHP نموذج PHP مطلوب نموذج PHP URL / البريد الإلكتروني اكتمل نموذج PHP

PHP متقدم

تاريخ ووقت PHP تضمين PHP معالجة ملفات PHP فتح / قراءة ملف PHP إنشاء / كتابة ملف PHP تحميل ملف PHP ملفات تعريف الارتباط PHP جلسات PHP مرشحات PHP مرشحات PHP متقدم وظائف رد الاتصال PHP PHP JSON استثناءات PHP

PHP OOP

PHP ما هو OOP فئات / كائنات PHP منشئ PHP مدمر PHP معدِّلات الوصول إلى PHP الوراثة PHP ثوابت PHP فئات مجردة PHP واجهات PHP سمات PHP طرق PHP الثابتة خصائص PHP الثابتة مساحات أسماء PHP PHP تكرارات

قاعدة بيانات MySQL

قاعدة بيانات MySQL اتصال MySQL إنشاء قاعدة بيانات MySQL إنشاء جدول MySQL MySQL إدراج البيانات MySQL الحصول على آخر معرف إدراج عدة MySQL تم تجهيز MySQL MySQL حدد البيانات MySQL أين ترتيب MySQL حسب MySQL حذف البيانات تحديث بيانات MySQL بيانات MySQL المحدودة

لغة PHP XML

موزعي PHP XML محلل PHP SimpleXML PHP SimpleXML - احصل على PHP XML Expat PHP XML DOM

PHP - أجاكس

مقدمة أجاكس أجاكس بي إتش بي قاعدة بيانات أجاكس AJAX XML بحث أجاكس لايف استطلاع أجاكس

أمثلة PHP

أمثلة PHP مترجم PHP اختبار PHP تمارين PHP شهادة PHP

مرجع PHP

نظرة عامة على PHP صفيف PHP تقويم PHP تاريخ PHP دليل PHP خطأ PHP استثناء PHP نظام ملفات PHP مرشح PHP PHP FTP PHP JSON كلمات PHP PHP Libxml PHP Mail PHP الرياضيات متفرقات PHP PHP MySQLi شبكة PHP التحكم في إخراج PHP PHP RegEx PHP SimpleXML PHP ستريم سلسلة PHP معالجة متغيرة PHP محلل PHP XML PHP Zip المناطق الزمنية PHP

PHP - أجاكس و MySQL


يمكن استخدام AJAX للتواصل التفاعلي مع قاعدة البيانات.


مثال على قاعدة بيانات أجاكس

سيوضح المثال التالي كيف يمكن لصفحة الويب جلب المعلومات من قاعدة بيانات باستخدام AJAX:

مثال


Person info will be listed here...

شرح المثال - قاعدة بيانات MySQL

يبدو جدول قاعدة البيانات الذي نستخدمه في المثال أعلاه كما يلي:

id FirstName LastName Age Hometown Job
1 Peter Griffin 41 Quahog Brewery
2 Lois Griffin 40 Newport Piano Teacher
3 Joseph Swanson 39 Quahog Police Officer
4 Glenn Quagmire 41 Quahog Pilot


شرح المثال

في المثال أعلاه ، عندما يختار المستخدم شخصًا في القائمة المنسدلة أعلاه ، يتم تنفيذ وظيفة تسمى "showUser ()".

يتم تشغيل الوظيفة بواسطة حدث onchange.

ها هو كود HTML:

مثال

<html>
<head>
<script>
function showUser(str) {
  if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
  } else {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        document.getElementById("txtHint").innerHTML = this.responseText;
      }
    };
    xmlhttp.open("GET","getuser.php?q="+str,true);
    xmlhttp.send();
  }
}
</script>
</head>
<body>

<form>
<select name="users" onchange="showUser(this.value)">
  <option value="">Select a person:</option>
  <option value="1">Peter Griffin</option>
  <option value="2">Lois Griffin</option>
  <option value="3">Joseph Swanson</option>
  <option value="4">Glenn Quagmire</option>
  </select>
</form>
<br>
<div id="txtHint"><b>Person info will be listed here...</b></div>

</body>
</html>

شرح الكود:

أولاً ، تحقق مما إذا تم اختيار الشخص. إذا لم يتم تحديد أي شخص (str == "") ، امسح محتوى txtHint واخرج من الوظيفة. إذا تم تحديد شخص ما ، فقم بما يلي:

  • قم بإنشاء كائن XMLHttpRequest
  • قم بإنشاء الوظيفة التي سيتم تنفيذها عندما تكون استجابة الخادم جاهزة
  • أرسل الطلب إلى ملف موجود على الخادم
  • لاحظ أنه تمت إضافة المعامل (q) إلى عنوان URL (مع محتوى القائمة المنسدلة)


ملف PHP

الصفحة الموجودة على الخادم التي يطلق عليها JavaScript أعلاه هي ملف PHP يسمى "getuser.php".

يقوم الكود المصدري في "getuser.php" بتشغيل استعلام على قاعدة بيانات MySQL ، ويعيد النتيجة في جدول HTML:

<!DOCTYPE html>
<html>
<head>
<style>
table {
  width: 100%;
  border-collapse: collapse;
}

table, td, th {
  border: 1px solid black;
  padding: 5px;
}

th {text-align: left;}
</style>
</head>
<body>

<?php
$q = intval($_GET['q']);

$con = mysqli_connect('localhost','peter','abc123','my_db');
if (!$con) {
  die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM user WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);

echo "<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
</body>
</html>

توضيح: عند إرسال الاستعلام من JavaScript إلى ملف PHP ، يحدث ما يلي:

  1. يفتح PHP اتصالاً بخادم MySQL
  2. تم العثور على الشخص الصحيح
  3. يتم إنشاء جدول HTML وتعبئته بالبيانات وإرساله مرة أخرى إلى العنصر النائب "txtHint"