النتائج 1 إلى 6 من 6

الموضوع: إنشاء بريمج للاتصال بقواعد البيانات

  1. إنشاء بريمج للاتصال بقواعد البيانات



    السلام عليكم

    هدف هذا المقال هو تصميم طبقة لتجريد البيانات لاستخدامها مع قواعد البيانات ، (Data Abstraction Layer (DAL)،،، لكي نتفادي تعقيدات الـMySQL ونركز على برنامجنا الأساسي ،، أيضا لنجعل شفرة (كود) برنامجنا مرتبا ونظيف واحترافي.



    لمن هذا الدرس:

    لكل من يحسن التعامل مع لغة الـPHP و الـMySQL.

    لديك إلمام بالـOOP "البرمجة الكائنية التوجه"(المام بسيط )



    الغرض من هذا المقال

    غرضنا هو كما أسلفنا إنشاء بريمج يريحنا من تعقيدات الـMySQL ، كالاتصال والاستعلام ، مع وضع خوارزمية مثالية في الاتصال والاغلاق لكي نحصل على أفضل أداء لبرنامجنا ولنتصيد الأخطاء بكل سهولة ويسر ونحافظ على ترتيب ونظافة كود برنامجنا.



    تعريف الكائنات (Object)

    الكائن التعريفي الخاص بقاعدة البيانات الخاصة بنا سيشمل المتغيرات المحلية local variable والبنية constructor.



    اولاً المتغيرات المحلية Local Variables:

    نحن سنحتاج المتغيرات المحلية لمراقبة معلومات اتصالاتنا و استعلاماتنا بالإضافة لتتبع اي اتصلات مفتوحة تركناها.



    سوف نبداء بالفئة "class" الخاصة بقواعد البيانات ،،، نحتاج فقط الى تعريف الفئة "class" و المتغيرات:

    كود PHP:
    class Database
    {
     var 
    $database_host;     
     var 
    $database_name;
     var 
    $database_user;
     var 
    $database_pass;
     var 
    $database_link;

    الآن سوف ننتقل الى البنية
    سوف نقم باعطاء قيم متغيرات معلومات الاتصال الخاصة بناء بقاعدة البيانات.

    كود PHP:
    function Database()
        {
            
    $this->database_user "root";
            
    $this->database_pass "";
            
    $this->database_host "localhost";
            
    $this->database_name "phpsd";
        } 

    حان وقت كتابة دوال التحكم بمعلومات الاتصال

    كود PHP:
    function changeUser($user)
        {
            
    $this->database_user $user;
        }
        
        function 
    changePass($pass)
        {
                
    $this->database_pass $pass;
        }
        
        function 
    changeHost($host)
        {
            
    $this->database_host $host;
        }
        
        function 
    changeName($name)
        {
            
    $this->databse_name $name;
        }
     
        function 
    changeAll($user$pass$host$name)
        {
            
    $this->database_user $user;
            
    $this->database_pass $pass;
            
    $this->database_host $host;
            
    $this->database_name $name;
        } 
    حقيقةً لقد أمسكنا بالكرة الآن

    الآن يجب ان نبدا بتأسيس الاتصال :
    كود PHP:
    function connect()
        {
            
    $this->database_link mysql_connect($this->database_host$this->database_user$this->database_pass) or die("غير قادر على الاتصال ");
            
    mysql_select_db($this->database_name) or die ("غير قادر على فتح قاعدة البيانات التس اسمها "$this->database_name);        
        } 
    لإغلاق الاتصال :
    كود PHP:
    function disconnect()
        {
            if(isset(
    $this->database_link)) mysql_close($this->database_link);
            else 
    mysql_close();    
        } 
    قبل أن نبدا بالاستعلام يجب أولا أن نتاكد من أن اتصالنا تم بنجاح مع قاعدة البيانات

    كود PHP:
    function query_chk($qry)
        {
            if(!isset(
    $this->database_link)) $this->connect();
            
    $temp mysql_query($qry$this->database_link) or die("خطأ: "mysql_error());        
        } 
    والآن


    كود PHP:
    function query($qry)
        {
            if(!isset(
    $this->database_link)) $this->connect();
            
    $result mysql_query($qry$this->database_link) or die("Error: "mysql_error());
            
    $returnArray = array();
            
    $i=0;
            while (
    $row mysql_fetch_array($resultMYSQL_BOTH))
                if (
    $row)
         
    $returnArray[$i++]=$row;
    mysql_free_result($result);
            return 
    $returnArray;
        }

    الان اصبح لدينا البريمج جاهز للعمل وهذا مثال له :

    كود PHP:
    <?php
    // مكان ملف البريمج
    include("database_class.php");
     
    // التعريف الابتدائي
    $db = new Database();
    // الاستعلام
    $q $db->query("SELECT * FROM users WHERE email= mail@php.sd");
     
     
    echo 
    '<table><tr><th>UserID</th><th>UserName</th>';
    echo 
    '<th>RealName</th><th>E-mail</th></tr>';
    foreach(
    $q as $user)
    {
        echo 
    '<tr><td>'.$user['userid'].'</td><td>'.$user['username'].'</td>';
        echo 
    '<td>'.$user['realname'].'</td><td>'.$user['email'].'</td></tr>';
    }
    echo 
    "</table>";
    // by M.Aljaaly 
    // mail@php.sd
    ?>
    أتمنى أكن قد أفدتكم

    المصدر :

    http://www.php.sd/portal/content/view/19/1/





    __________________
    ################################ PHP.SD ########
    We're not first,But We're the BEST

    ##


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Jun 2005
    المشاركات
    255


    شكراً لك ، بارك الله فيك





    __________________
    لا إله إلا الله

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2003
    المشاركات
    502


    تسلسل الشرح

    وتسلسل الافكار

    وتسلسل الكلاس


    يدل على انك صاحب منطق عالي جدا

    وبذلك تثبت لنفسك

    انك مبرمج مبدع





    __________________
    ---[ كلمتان خفيفتان على اللسان ]---
    ---[ ثقيلتان في الميزان ]---
    ---[ حبيبتان الى الرحمن ]---
    ---[ سبحان الله وبحمده سبحان الله العظيم ]---

  4. #4


    بارك الله فيك يالغالي

    درس جداً مفيد





    __________________
    +======================+
    شبكة تصميم لتطوير المواقع
    www.tsmim.com
    سكربتات حصرية - وتصاميم مميزة لموقعك
    +======================+

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Jun 2005
    المشاركات
    194


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

    شكرا لك





    __________________
    http://www.krstal.com كرستال الترفيهي

    http://www.t7mil.net تحميل صور نت

    http://www.dlil.net ] دليل المواقع (اضف موقعك)




    http://www.rendhost.com رينديفو لخدمات الويب
    support@rendhost.com



  6. أشكركم لمروركم الكريم ولا عدمناكم

    ولكم أرق تحية





    __________________
    ################################ PHP.SD ########
    We're not first,But We're the BEST

    ##





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض