بسم الله الرحمن الرحيم والصلاة والسلام على سيدنا محمد خاتم الأنبياء والمرسلين وعلى ال بيته الطيبين الطاهرين. مرحباً بكم تخوتي الأعزاء من موقع Arabic-html.com جمعنا الله واياكم بلعلم والمعرفة ووفقكم الله أينما كنتم .
تختص هذة المقالة باسلوب البحث عن اي قيمة داخل جدول (table) معين مخزن في قاعدة البيانات (database) باستخدام تقنية الاجاكس (Ajax)
فلو فرضنا ان هنالك قاعدة بيانات خاصة بلموظفين تحمل الاسم (db_staff) وكان هنالك جدول (Table) خاص بمعلومات الموضفين تحت مسمى (employees) يحتوي على عدة حقول (fields) اهمها – المفتاح الاساسي – رقم الموظف – اسم الموظف – البريد الالكتروني – الهاتف كما موضح بلهيكلية .
- id : primary key المفتاح الاساسي
- emp_no : employ number رقم المظف
- emp_name : full name الاسم الكامل
- emp_email : Email البريد الاكتروني
- emp_mobile : Mobile الهاتف
فان طرقة انشاء قاعدة البيانات (db_staff) الجدول (employees) داخل MYSQL
/* Create schema db_staff تكوين قاعدة البيانات */ CREATE DATABASE IF NOT EXISTS db_staff; USE db_staff; /* Definition of table `employees` تكوين جدول الموظفين */ DROP TABLE IF EXISTS `employees`; CREATE TABLE `employees` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `emp_no` varchar(8) NOT NULL, `emp_name` varchar(60) NOT NULL, `emp_email` varchar(20) NOT NULL, `emp_mobile` varchar(14) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; /* data for table `employees` تخزين مجموعة من الموضفين داخل الجدول */ INSERT INTO `employees` (`id`,`emp_no`,`emp_name`,`emp_email`,`emp_mobile`) VALUES (1,'747332','محمد قاسم محمد','mohamed@gmail.com','00964-78012451'), (2,'743521','اسعد رضا اسماعيل','asaad@yahoo.com','00964-78012331'), (3,'745521','حسن خالد علي','hassen@hotmail.com','00964-78014745'), (4,'743852','علي صالح كريم','Ali123@gmail.com','00964-78016645');
وقبل الشروع في العمل يجب عينا ملاحضة المخطط التوضيحي الذي يوضح الالية المتبعة في بناء السكربت الخاص بلغة php , Ajax حتى تكون الصورة اقرب لك اخي العزيز .
وحسب روئيتنا الى المخطط التوضيحي يمكننا ان انحدد الصفحات الواجب انشائها لبناء السكربت الخاص بهذة الوظيفة محددين على ان صفحة index.php هي الصفحة الرئيسية التي تقوم بلاتصال بصفحة db.php وجلب محتويات الجدول كاملة وصفحة ajax.js هي الصفحة التي تقوم برسال قيمة ما تم البحث عنة في صفحة index.php الى صفحة search.php حيث ان مبدأ عمل هذة الصفحة تتلخص بلاتصال بقاعدة البيانات والبحث عن القيمة المرسلة اليها وعودة النتيجة
db.php
$webapp_host = 'localhost'; $webapp_db_name = 'db_staff'; $webapp_db_user = 'root'; $webapp_db_password = ''; /*----------- PHP To Conect in MYSQL----------------------*/ $webapp_handle = @mysqli_connect($webapp_host ,$webapp_db_user,$webapp_db_password); @mysqli_set_charset($webapp_handle,'utf8'); if (!$webapp_handle) die ( ' Failed to connect to MySQL : Error-01 ') ; $webapp_db_selected = @mysqli_select_db($webapp_handle,$webapp_db_name); if(!$webapp_db_selected) { @mysqli_close($webapp_handle); die ( 'Unknown database in MySQL : Error-02 '); }
index.php
require_once 'php/db.php'; $Title = "Ajax search"; $query ='SELECT * FROM `employees`'; $qreuslt = mysqli_query($webapp_handle, $query) ; $rcount= mysqli_num_rows($qreuslt); $arrayTable = array(); for ($i=0; $i < $rcount ; $i++) $arrayTable[$i] = mysqli_fetch_assoc($qreuslt); mysqli_free_result($qreuslt);التسلسلالاسم الثلاثيسنوات الخدمةالبريد الاكترونيرقم الهاتف foreach ($arrayTable as $row) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; }
".$row['id']." ".$row['emp_no']." ".$row['emp_name']." ".$row['emp_email']." ".$row['emp_mobile']."