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

الموضوع: الدرس 4 : تكوين قائمة اختيارات من قاعدة بيانات mysql

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Apr 2002
    المشاركات
    140

    الدرس 4 : تكوين قائمة اختيارات من قاعدة بيانات mysql



    بسم الله الرحمن الرحيم
    الدرس الرابع من سلسلة دروس موقع ثك بوك ...
    عنوان المقالة الاصلي :
    Extracting Elements from a Database into a Select Form Field
    من الاسئلة المتداولة عند مستخدمي قوائم المراسلة ...
    (( كيف يمكنني ان اكون قائمة اختيار من عناصر موجودة في قاعدة البيانات ؟؟ ))
    المسألة سهلة لاننا نعرف بأن تكوين القائمة سهل جدا بالـ html فالطريقة المعروفة :
    <OPTION> field within a <SELECT> كافية جدا لاداء المطلوب .... و لكننا

    الان سوف نستخدم امر التكرار while لكي نستخرج محتويات قاعدة بيانات و نضيفها في قائمة الاختيار .
    حسنا فلنبدأ ... اولا لنفرض انه لديك قاعدة بيانات باسم OPERATING_SYSTEMS و تحتوي على خانة واحدة اسمها OS تحتوي على هذه المعلومات : - (( انظر الشكل 1 ))

    اوكي الان نبدا البرمجة الفعلية للسكربت بلغة بي اتش بي و لهذا المنظور نبدا بانشاء صفحة html عادية و نضمنها كود البي اتش بي مع ملاحظة انني قمت بكتابة الاكواد اللازمة للاتصال بقاعدة البيانات فاذا كنت لا تعرفها يمكنك مراجعة الدرس الخاص بالاتصال بقاعدة البيانات لذلك لن نتاخر في شرحها مرة اخرى ...
    <HTML>
    <HEAD>
    <TITLE>Sample Form</TITLE>
    </HEAD>
    <BODY>
    <?
    // create connection
    $connection = mysql_connect("servername","username","password") or die("Couldn't make
    connection.");
    // select database
    $db = mysql_select_db("myDB", $connection) or die("Couldn't select database.");
    // create SQL statement
    $sql = "SELECT OS FROM OPERATING_SYSTEMS ORDER BY OS ASC";
    // execute SQL query and get result
    $sql_result = mysql_query($sql,$connection) or die("Couldn't execute query.");
    ?>
    الان نعرف متغير باسم $option_block حيث سيحتوي على كل الخيارات التي سنستخرجها من قاعدة البيانات .
    <FORM method="[your method]" action="[your action]">
    <P>Operating System:<br>
    <SELECT name="operating_system">
    <? echo "$option_block"; ?>
    </SELECT>
    <P><INPUT type="submit" value="submit"></p>
    </FORM>
    </BODY>
    </HTML>
    لا يوجد شيء جديد و لكن الملاحظ اننا انشأنا فورم و ذلك لكي يتسنى
    للزائر الاختيار من هذه القائمة .
    اوكي الان نستخدم الامر وايل :
    while ($row = mysql_fetch_array($sql_result)) {
    // more code here
    }
    دائرة التكرار while سوف تقوم بانشاء اري ( قائمة) (array) اسمها $row لكل نتيجة . و للحصول على النتائج لكل قائمة نعرف المتغير ... $os
    $os = $row["OS"]; ....... لاحظ انه مع كل دورة ستتغير قيمة المتغير ..
    الان لن نحتاج الا الى القليل من الـ html لنضع المتغير $os في قائمة
    اختيارات و ذلك بطريقة option المعروفة ...
    $option_block .= "<OPTION value=\"$os\">$os</OPTION>";
    اذا ستكون النتيجة النهائية لدائرة التكرار وايل على هذا الشكل :
    while ($row = mysql_fetch_array($sql_result)) {
    $os = $row["OS"];
    $option_block .= "<OPTION value=\"$os\">$os</OPTION>";
    }
    _______

    النهاية 1 : نعم لقد انتهينا و ستظهر في صفحة الويب قائمة اختيارات تحتوي
    على المعلومات المستخرجة من قاعدة البيانات على هذا الشكل : ( انظر شكل 2 )

    الان سوف اكتب الكود كاملا و بعده سأقوم بشرح نقطة فرعية اخرى ...
    الكود كاملا :
    <HTML>
    <HEAD>
    <TITLE>Sample Form</TITLE>
    </HEAD>
    <BODY>
    <?
    // create connection
    $connection = mysql_connect("servername","username","password") or die("Couldn't make
    connection.");
    // select database
    $db = mysql_select_db("myDB", $connection) or die("Couldn't select database.");
    // create SQL statement
    $sql = "SELECT OS FROM OPERATING_SYSTEMS ORDER BY OS ASC";
    // execute SQL query and get result
    $sql_result = mysql_query($sql,$connection) or die("Couldn't execute query.");
    // put data into drop-down list box
    while ($row = mysql_fetch_array($sql_result)) {
    $os = $row["OS"];
    $option_block .= "<OPTION value=\"$os\">$os</OPTION>";
    }
    ?>
    <FORM method="[your method]" action="[your action]">
    <P>Operating System:<br>
    <SELECT name="operating_system">
    <? echo "$option_block"; ?>
    </SELECT>
    <P><INPUT type="submit" value="submit"></p>
    </FORM>
    </BODY>
    </HTML>

    _____
    _____

    حسنــا النقطة التي احببت ان اشير اليها انه لو كانت هذه القائمة اختيارات
    و لكن قد تم الاختيار منها سابقا و الان نريد تحرير الاختيار .. اي انه يجب
    ان نظهر الخيار الذي قد كان اختير من قبل بلون ازرق ..
    او اننا نريد ان نجعل احد الاختيارات هو الخيار الافتراضي ...
    هذه المسألة نحلها بهذه الطريقة ..........:
    لنفرض ان احد المحتويات قيمته $curr_os و نريد ان نجعله هو الاختيار الافتراضي ..
    حسنا نعيد كتابة امر التكرار وايل بهذه الطريقة ..:
    while ($row = mysql_fetch_array($sql_result)) {
    $os = $row["OS"];
    if ($curr_os == $os) {
    $option_block .= "<OPTION value=\"$os\" selected>$os</OPTION>";
    } else {
    $option_block .= "<OPTION value=\"$os\">$os</OPTION>";
    }
    }
    لا يوجد شيء معقد و لكن اخبرنا البي اتش بي انه اذا كان $os مطابقا
    للـ $curr_os اظهر المتغير $os مختارا ( اي ملون بلون ازرق ) و في اي
    حالة اخرى اظهر المتغير $os بدون اختيار ..
    و في مثالنا هذا $curr_os يساوي solaris اي انه سيكون سولاريس الاختيار الافتراضي .
    انظر الشكل (3) :

    و هكذا نستطيع ان نعلم على اي محتوى من القائمة بتغيير المتغير .
    __________
    __________

    .... و السلام
    اعتذر لانني قد انقطع لفترة طويلة لانني مسافر الى امد غير معلوم .
    ان شاء الله قدرت افيدكم و لو بالقليل ...
    اخوكم ... ،
    ^SOURCER^





    sourcer غير متواجد حالياً


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Oct 2001
    المشاركات
    251


    مشكور ياسورس


    هههههه ليش صورتك بهذا الشكل





    sameh1390 غير متواجد حالياً

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2001
    المشاركات
    391



    اشكرك جدا
    اخوي
    انت تقدم لنا دروس مهمة وفوائد جمه

    اشكرك من اعماق قلبي
    استمر
    والقلب داعي لك






    __________________
    صلوا على النبي...

    :)
    sagaf غير متواجد حالياً



  4. شكراً





    __________________
    أخوكم ابو مشعل
    ملاحظات لتنظيم المنتدى:
    http://www.swalif.net/softs/showthread.php?s=&threadid=42612
    ---------------
    ابو مشعل غير متواجد حالياً

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Jul 2001
    المشاركات
    831


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





    FOFOOO غير متواجد حالياً





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

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

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