طلبات : لغة php & mysql : دالة extract لتعريف حقول قاعدة البيانات كمتغيرات

دالة extract لتعريف حقول قاعدة البيانات كمتغيرات

اليوم جايب لكم شرح عن دالة مفيدة في ظهرت منذ إصدارة PHP 3.0.7 وحتى الآن ..

هذي الدالة هي دالة extract وهي مفيدة بعد استخراج النتائج من قاعدة البيانات عن طريق دالة mysql_fetch_array

يعني هذي الدالة تخلي الحقول الموجودة في قاعدة البيانات على شكل متغيرات،، وكل متغير يكون باسم الحقل

يعني ناخذ مثال:

- لنفترض أن لدينا قاعدة بيانات باسم students وفيها جدول باسم students ونريد استخراج جميع المعلومات الموجودة فيها،، لنفترض أن هذه المعلومات هي username وpassword وmarks وschool وclass

سنحتاج للكود التالي لاستخراج النتائج ووضعها في متغيرات ،، لاحظوا :: متغيرات (ليست مصفوفات)..

<?
// الاتصال بقاعدة البيانات
$connect mysql_connect("localhost","root","");
$select mysql_select_db("students",$connect);

// استعلام إس كيو إل من قاعدة البيانات
$sql "SELECT * FROM students";

// تنفيذ الاستعلام في قاعدة البيانات
$result mysql_query($sql);

// استخراج النتائج في مصفوفة هي row
while ($row mysql_fetch_array($result)) {
    
$username=$row[username];
    
$password=$row[password];
    
$marks=$row[marks];
    
$school=$row[school];
    
$class=$row[class];
}
?>


وبذلك أصبح لدينا 5 متغيرات تحوي محتويات حقول الجدول students ..

الآن، ما رأيكم لو اختصرنا الخمسة أسطر الخاصة بتعريف المتغيرات بسطر واحد فقط ..

إذاً فلتتعرفوا إلى الدالة التالية وهي extract ..: ::

<?
// الاتصال بقاعدة البيانات
$connect mysql_connect("localhost","root","");
$select mysql_select_db("students",$connect);

// استعلام إس كيو إل من قاعدة البيانات
$sql "SELECT * FROM students";

// تنفيذ الاستعلام في قاعدة البيانات
$result mysql_query($sql);

// استخراج النتائج في مصفوفة هي row
while ($row mysql_fetch_array($result)) {
extract($row);
}
?>


فلنجرب الكود التالي الآن والخاص بطباعة محتويات المتغيرات الخمسة مرتبين تحت بعض :


<?
Echo $username "<BR>" $password "<BR>" $marks "<BR>" $school "<BR>" $class;
?>


إذا جربنا الكود السابق بعد كتابة الكود الأول ثم بعد كتابة الكود الثاني نلاحظ أن الناتج واحد ..

وأن الدالة extract وفرت علينا 5 أسطر في سطر واحد ..

ماذا لو كان الجدول يحتوي على 10 حقول أو أكثر ؟؟!!

عندها ستلاحظ أهمية هذه الدالة في استخراج البيانات من قاعدة البيانات ..

فائدة أخرى لهذه الدالة في نفس المهمة ..

وهي عند استخراج البيانات من قاعدة البيانات ، فإنك ستحتاج إلى تعريف كل حقل جديد في قاعدة البيانات كلما احتجت إليه .. يعني إذا كان لديك حقلين في قاعدة البيانات وكتبت المثال الأول فإنه سوف يعرف الحقلين فقط ، وإذا قمت بعد ذلك بإنشاء حقل آخر في نفس الجدول فإن البرنامج لن يقوم بتعريف متغير خاص بالحقل الجديد .. أما باستعمال دالة extract فإن البرنامج سيقوم بشكل تلقائي بتعريف جميع حقول الجدول سواء كنت تحتاجها أم لا ، وسواء كانت قديمة أم جديدة ..!!

أرجو أن أكون قد أفدتكم في شرح هذه الدالة ..

واعذروني على التقصير ..

والسلام عليكم ورحمة الله وبركاته

الكاتب : sBForum

الإسم
البريد الإلكتروني
رابط موقعك
كود التأكيد أكتب الكود هنا

خانات لابد من تعبأتها التي بجانبها علامة *



إستضافة وتطوير Tsmimk.com

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