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

الموضوع: خطأ في خيارات القوائم المنسدلة ، فما الطريقة لحله ؟

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

    خطأ في خيارات القوائم المنسدلة ، فما الطريقة لحله ؟



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

    كود PHP:
    <form method="POST" action="index.php?cat=<?php echo $row[id?>">
      <p align="left">
      <font face="Tahoma"><font size="2">انتقل الى : </font>
      <select size="1" name="cat" dir="rtl">
    <?
    $query
    =mysql_query("SELECT * FROM cat");
    while(
    $result=mysql_fetch_array($query)){
    echo 
    "<option value=\"$result[id]\">$result[name]</option>";
    }
    ?>
      </select><span lang="en-us"> </span>
      <input type="submit" value="موافق" name="B1"></font></p>
    </form>

    فقمنا بالتعديل على الكود ليصبح كالتالي :
    كود PHP:
    <?php
    $query3
    =mysql_query("SELECT * FROM cat");
    while(
    $result3=mysql_fetch_array($query3)){
    ?>
    <form method="POST" action="index.php?cat=<?php echo $result3[ID?>">
      <select size="1" name="cat" dir="rtl">
      <?php
    echo "<option >$result3[name] </option>";
    ?>
    </select>
      <input type="submit" value="موافق" name="B1"></font></p>
    </form>
    <?php
    }
    ?>

    فحصلت مشكلة جديدة وهي أن القائمة المنسدلة أصبحت تحتوي على خيار واحد وتعددت القوائم المنسدلة بعدد الأقسام ، وقد اصبحت كل قائمة خاصة بقسم وعند الضغط على موافق يفتح القسم الصحيح ، ولكن القوائم اصبحت كثيرة جداً بدلاً من ان تظهر كل الخيارات في قائمة واحدة

    فما المشكلة في ذلك ؟





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك


  2. #2
    عضو فعال
    تاريخ التسجيل
    Feb 2002
    المشاركات
    1,247


    إنت حطيت كود إنشاء القائمة المنسدلة داخل الحلقة .. عشان كذا تتكرر معاك

    جرب التالي
    كود PHP:

    <?php 
    $query3
    =mysql_query("SELECT * FROM cat"); 
    ?>
    <form method="GET" action="index.php"> 
      <select size="1" name="cat" dir="rtl"> 
    <?php
    while($result3=mysql_fetch_array($query3)){ 
    echo 
    "<option >$result3[name] </option>"

    ?> 
    </select> 
      <input type="submit" value="موافق" name="B1"></font></p> 
    </form>






    __________________
    ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
    فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    426


    السلام عليكم

    صحيح يبدوا ان السبب في التكرار هو وضع كود القائمة داخل الحلقة ، ولكن هذا الاقتراح لا يحل المشكلة لأني اريد ان اضع في action الخيار التالي :
    action="index.php?cat=<?php echo $result3[ID] ?>"

    ما يعني ان عليّ أن اكتب السطر التالي :
    while($result3=mysql_fetch_array($query3)){
    قبل خيار action لكي يتم التعرف على $result3[ID

    وعند تقديم الحلقة على كود الفورم يتكرر الفورم وتقع المشكلة
    فهل من حل ينهي هذا الخلل ؟
    وشكراً





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك

  4. #4
    عضو فعال
    تاريخ التسجيل
    Feb 2002
    المشاركات
    1,247


    إنت الظاهر مادققت في الكود اللي وضعته لك تمام أو ماكلفت نفسك تجرب .. شوف تعريف الفورم قبل بداية الحلقة بتلاقي طريقة إرسال المتغير هي GET
    كود PHP:
    <form method="GET" action="index.php"
      <
    select size="1" name="cat" dir="rtl"
    وبالطريقة هذي تقدر ترسل قيمة المتغير cat$ من القائمة المنسدلة بدون الدخول بكامل الفورم في اللوب





    __________________
    ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
    فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    426


    السلام عليكم
    الاخ Dr.Server
    فعلاً .. لم اكن قد لاحظت تغييراً في method من post إلى get ، وأما بقية التعديلات فكنت قد جربتها ولكن لم تنجح لان هذا التعديل لم اكن قد قمت به .

    لقد حلت المشكلة ، وشكراً لكم على هذه الملاحظة التي اتت في محلها ، اذ لم اكن على اطلاع حول الفرق بين هذين الخيارين وقد اتضح الأمر الآن .
    شكراً مرة أخرى


    استفسار آخر :
    عند اختيار قسم معين والضغط على موافق اصبح الارتباط الذي يظهر :
    index.php?cat=10&B1=%E3%E6%C7%DD%DE
    وأظن أن الأحرف الغير مفهومة هي كلمة موافق حيث أن اسمها هو B1 فهل من طريقة لعدم ظهور شيء بعد رقم cat أي من &B إلى النهاية ؟

    والسلام عليكم





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك

  6. #6
    عضو فعال جدا
    تاريخ التسجيل
    Feb 2004
    المشاركات
    2,307


    السلام عليكم

    index.php?cat=10&B1=%E3%E6%C7%DD%DE

    B1=%E3%E6%C7%DD%DE
    B1 = موافق

    الحل انك تغيرها الى كلمة انجليزيه

    لاحظ هالدرس وان شاء الله يفيدك

    http://www.phpfaq.php-ar.com/index.p...2382badb45eb57

    وفيه واحد حط ملف يقوم بالمهمه بمنتدى بي اتش بي العرب بس ناسي الموضوع

    تحياتي





    __________________
    بي اتش بي العرب : php-ar.com
    دروس PHP خاص : phpfaq.php-ar.com

    new site : www.naifphp.net/web

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    426


    اذا كانت هناك طريقة لالغاء ما يظهر بعد رقم cat بشكل نهائي فنأمل افادتنا حولها

    مسألة أخرى :
    عندما تم تعديل methot إلى get تم حذف $result3[ID] من خيار action وإضافته إلى السطر الذي يحتوي على الاسماء ليصبح كالتالي :
    echo "<option value=\"$result3[ID]\">$result3[esm]</option>";

    والسؤال هو : إذا أردنا كتابة &part=1 بعد $result3[ID] يصبح الكود كالتالي :
    echo "<option value=\"$result3[ID]&part=1\">$result3[esm]</option>";

    ولكن عند طلب الانتقال إلى صفحة أخرى فإن الرمز & يتحول إلى أرقام وأحرف ما يعني حدوث خطأ في العنوان الذي ينبغي ان ينتقل إليه وتحصل مشكلة أخرى ، فما سبب تحول الرمز & والرمز = إلى الكود التالي :
    %26part%3D1
    وما السبيل إلى تجاوز المشكلة ؟
    وشكراً





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك





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

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

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