بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته :-
هذا هو الدرس الثالث من سلسلة دروس موقع ثك بوك .
عنوان المقالة الاصلي : Simple Connection to Informix
الـ Informix قاعدة بيانات ليست بشهرة الـ Mysql و لا الـ Oracle و لكن مع ذلك يوجد من
يستخدمها و لها انصارها في اوساط مطوري PHP ، لذلك يوجد الكثير من الدوال لهذه القاعدة
التي سنقوم في هذا الدرس بمثل ما قمنا به في درس Mysql و سندرس خمس دوال لهذه القاعدة
لاجراء اتصال بسيط بالقاعدة و استخراج بعض المعلومات منها .
• ifx_connect : تقوم هذه الدالة بالاتصال بسرفر الانفورمكس و تحتاج هذه الدالة الى : اسم قاعدة ، اسم مستخدم ، كلمة مرور .
• ifx_query : تقوم باستخراج معلومات و محتويات القاعدة .
• ifx_htmltbl_result : تقوم بعرض محتويات قاعدتك بياناتك في جدول html انيق .
• ifx_free_result : تقوم بتحرير المصادر المستخدمة في هذا الاتصال .
• ifx_close : تقوم باغلاق و انهاء الاتصال تماما .
________
مثل درس الـ mysql لنفرض انه لديك قاعدة بيانات ، و لديك اسم مستخدم و كلمة مرور .. و لنفرض انك ايضا قمت بانشاء جدول اسمه
COFFEE_INVENTORY .. و يحتوي هذا الجدول على ثلاث اعمدة هي : COFFEE_NAME, ROAST_TYPE QUANTITY. ... و هذه الاعمدة يوجد بها بيانات على هذا الشكل : ( انظر المخطط التوضيحي )
حسنا الان نبدا... و لكن عليك اولا ان تعرف اسم السرفر الموجود عليه قاعدة البيانات ، اذا كنت تعرفه فاكتب دالة الاتصال بهذا الشكل ..
<?php
$connection = ifx_connect("dbname@SERVERNAME", "username", "password") or
die("Couldn't create connection.");
اسم القاعدة @ السرفر ثم اسم المستخدم و اخيرا كلمة المرور و ستكون الدالة
جاهزة . اما دالة die() فستظهر رسالة خطأ في حال عدم اجراء الاتصال .
ممتاز الان قد اجريت الاتصال و لنفرض انك تريد الاطلاع على محتوى العامودين
Coffee_name و roast_type حسب اكبر قيمة ( القيم الموجودة في العامود uantity(
ننشي المتغير :
$sql = "SELECT COFFEE_NAME, ROAST_TYPE, QUANTITY FROM COFFEE_INVENTORY ORDER BY QUAN-TITY
DESC";
حيث عرفنا المتغير sql بالمواصفات التي اردناها و هي عرض المحتويات بحيث تعرض
المحتويات التي لها قيمة اكبر اولا .
الان لاستخراج المعلومات فقط نقوم باستخدام الدالة ifx_query و التي تحتاج الى المتغيرين اللذين
انشأناهما سابقا الا و هما SQL و Connection .... الان نكتب الدالة ..:
$sql_result = ifx_query($sql,$connection) or die("Couldn't execute query.");
الان انتهين و نريد عرض المعلومات في صفحة ويب و لذلك نستخدم الدالة ifx_htmltbl_result :
ifx_htmltbl_result($sql_result,"border=1");
هذه الدالة ستقوم بعرض محتويات المتغير sql_result في جدول داخل صفحة الويب.
لاحظ انه يمكنك تغير سمك البوردر كما لو انك تستخدم html .
حسنا انهتى كل شيء و نريد تحرير المصادر لعدم اشغال الذاكرة و لمنع حدوث اي
هنجنج او وقوف لسرفر .
نستخدم الدالتين الاخيرتين ..:
ifx_free_result($sql_result);
ifx_close($connection);
__________
للحصول على المزيد من دوال هذه القاعدة و للحصول على معلومات اكثر يمكنك
مراجعة الـ php manual الذي ستحصل عليه من الموقع الرسمي للغة .
و هذا الكود كاملا ..................:
<?php
// create connection
$connection = ifx_connect("dbname@SERVERNAME", "username", "password") or
die("Couldn't create connection.");
// create SQL statement
$sql = "SELECT COFFEE_NAME, ROAST_TYPE, QUANTITY FROM COFFEE_INVENTORY ORDER BY QUAN-TITY
DESC";
// execute SQL query and get result
$sql_result = ifx_query($sql,$connection) or die("Couldn't execute query");
// format result in HTML table
ifx_htmltbl_result($sql_result,"border=1");
// free resources and close connection
ifx_free_result($sql_result);
ifx_close($connection);
?>
______
الاخ العزيزعاشق البحر ان شاء الله ما قرأت هالموضوع في موقع عربي ؟؟!
... و سلام
^SouRcEr