PHP و MySQL المثال أجاكس
أجاكس يمكن استخدامها للاتصال تفاعلية مع قاعدة البيانات.
مثيل قاعدة البيانات أجاكس
سوف تظهر الأمثلة التالية كيف يمكن لصفحة ويب عن طريق أجاكس قراءة المعلومات من قاعدة البيانات:
أمثلة
选择对应选项,用户信息会显示在这……
أمثلة توضح - قاعدة بيانات 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 |
أمثلة توضح - صفحة HTML
عندما يقوم المستخدم في القائمة المنسدلة أعلاه، حدد المستخدم على تنفيذ يدعى "showUser) (" وظيفة. يتم تشغيل هذه الوظيفة عن طريق الحدث "عند_التغيير":
<html> <head> <script> function showUser(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码 xmlhttp=new XMLHttpRequest(); } else { // IE6, IE5 浏览器执行代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.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">Glenn Quagmire</option> <option value="4">Joseph Swanson</option> </select> </form> <br> <div id="txtHint"><b>Person info will be listed here.</b></div> </body> </html>
وظيفة showUser () تنفيذ الخطوات التالية:
- تحقق ما إذا كان يتم تحديد المستخدم
- إنشاء كائن مدعوم
- إنشاء وظيفة عندما يكون الملقم جاهز لأداء استجابة
- ملف على الملقم لإرسال الطلبات
- يرجى ملاحظة تضاف إلى نهاية معلمة URL (ف) (يحتوي على محتويات القائمة المنسدلة)
ملف PHP
خوادم المذكورة أعلاه من خلال جافا سكريبت يدعو هذه الصفحة يسمى "getuser.php" ملف PHP.
سيتم تشغيل الكود المصدري "getuser.php" في مرة واحدة للاستعلام قاعدة بيانات MySQL و إرجاع النتائج في جدول HTML:
<?php $q=$_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 border='1'> <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); ?>
التفسير: عند إرسال استعلام من جافا سكريبت لملف PHP سوف يحدث:
- PHP فتح اتصال إلى قاعدة بيانات MySQL
- العثور على مستخدمين محددين
- إنشاء جدول HTML، وملء البيانات ويرسل إلى الخلف "txtHint" نائبا