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

الموضوع: [سؤال]كيف استطيع التعامل مع القوائم ذات اختيار متعدد

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Jan 2005
    المشاركات
    285

    [سؤال]كيف استطيع التعامل مع القوائم ذات اختيار متعدد



    عندي فورم فيه سيليكت متعدد الاختيارات

    هذا هو

    كود HTML:
      <select size="3" name="multiple" dir="rtl" multiple>
      <option value="1" selected>اختيار 1</option>
      <option value="3">اختيار 3</option>
      <option value="2">اختيار2</option>
      </select>
    كيف ممكن استقبله في صفحة المعالجة

    وكيف يطلع اصلا

    POST

    افيدونا افادكم الله

    شكرا لكم جميعا





    __________________
    "من علمني حرفا صرت له عبدا"
    |+|PHP|+|loowy|+|PHP|+|
    "عامل الناس بما تحب أن يعاملوك به"
    لـــــــــــــــــــــــــــــؤي


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    180


    السلام عليكم
    لجعل الاختيار من متعدد يمرر أكثر من قيمة يجب أن تضع القوسين التاليين [] بعد اسم العنصر لكي يمررها كمصفوفة
    ثم استخدم foreach لفرز المصفوفة
    وهذا مثالك بعد التعديل
    كود PHP:
    <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
      <select size="3" name="multiple[]" dir="rtl" multiple>
      <option value="1" selected>اختيار 1</option>
      <option value="2">اختيار 2</option>
      <option value="3">اختيار 3</option>
      </select>
      <input type="submit" value="select" />
    </form>

    <?php
    foreach($multiple as $value)
    {
            echo 
    $value;
            echo 
    "<br>";
    }
    ?>
    وفقك الله





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Jan 2005
    المشاركات
    285


    اولا اشكرك اخي قاصد

    تاعبينك معانا :shy: جزاك الله خير

    اقتباس المشاركة الأصلية كتبت بواسطة قاصد
    السلام عليكم
    لجعل الاختيار من متعدد يمرر أكثر من قيمة يجب أن تضع القوسين التاليين [] بعد اسم العنصر لكي يمررها كمصفوفة
    ثم استخدم foreach لفرز المصفوفة
    وهذا مثالك بعد التعديل
    كود PHP:
    <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
      <select size="3" name="multiple[]" dir="rtl" multiple>
      <option value="1" selected>اختيار 1</option>
      <option value="2">اختيار 2</option>
      <option value="3">اختيار 3</option>
      </select>
      <input type="submit" value="select" />
    </form>

    <?php
    foreach($multiple as $value)
    {
            echo 
    $value;
            echo 
    "<br>";
    }
    ?>
    وفقك الله
    يعني اذا بطلع الاختيارات في صفحة المعالجة اسوي كذا ؟

    كود PHP:
    $_POST['multiple'][1
    الرقم الثاني يعبر عن الاختيار الاول اللي هو اختاره ولا كيف؟

    يعني اختار "اختيار 2"

    لما استدعيه استخدم الكود السابق؟

    شكرا مرة اخرى





    __________________
    "من علمني حرفا صرت له عبدا"
    |+|PHP|+|loowy|+|PHP|+|
    "عامل الناس بما تحب أن يعاملوك به"
    لـــــــــــــــــــــــــــــؤي

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    180


    عفوا أخي 3bdullah ولا تعبتني ولا شيء بالعكس انت قاعد تفيدني
    نبدأ
    انت إذا حطيت القوسين هذه [] معناها ان المتغير المسمى multiple تم تمرير كمصفوفة و المصفوفات كما هو معلوم عبارة عن عدة متغيرات تخزن باسم واحد وهو هنا multiple و تعطي كل متغير رقم خاص أوتوماتيكيا تبدأ من صفر بحيث أول قيمة ستدخل في المصفوفة ستعطى الرقم 0 والتي بعدها 1 وهكذا...

    بخصوص الاختيار من متعدد
    طبعا النموذج سيعرف العنصر أو العناصر التي اختارها المستخدم ولكنه لن يعرف هل ضغط على "اختيار1" ثم "اختيار2" أم أنه ضغط على "اختيار2" ثم "اختيار1" أن الكمبيوتر لن يعرف ترتيب الضغط من قبل المستخدم ولكنه سيعرف أن المستخدم اختار من القائمة الخيار المسمى "اختيار1" والمسمى "اختيار2" ولم يختر "اختيار3"

    وبالتالي سينشئ مصفوفة باسم multiple ويضع فيها عنصرين العنصر الأول هو "اختيار1" والذي يحمل القيمة 1
    والعنصر الثاني "اختيار2" والذي يحمل القيمة 2

    وبالتالي ستصل إليها بالشكل التالي
    كود PHP:
    echo $_POST['multiple'][0];//يحتوي على  قيمة الخيار الأول
    echo $_POST['multiple'][1];//يحتوي على قيمة الخيار الثاني 
    حسنا ماذا لو اختار المستخدم الخيارين 1 و 3

    ستتغير إلى

    كود PHP:
    echo $_POST['multiple'][0];//يحتوي على  قيمة الخيار الأول
    echo $_POST['multiple'][1];//يحتوي على قيمة الخيار الثالث 
    وعند استدعائه فأعتقد أن أنسب طريقة هي باستخدام foreach لكن قد تكون هذه الطريقة أنسب (حسب برنامجك وحاجته)

    أتمنى أن تكون اتضحت الفكرة





    __________________
    سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك

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


    انا كان قصدي اسالك عماتفضلت به في ختام كلامك

    لكن ما وصلت لك قصدي بالضبط

    على العموم الفكرة وصلت

    جزاك الله خير على مجهودك





    __________________
    "من علمني حرفا صرت له عبدا"
    |+|PHP|+|loowy|+|PHP|+|
    "عامل الناس بما تحب أن يعاملوك به"
    لـــــــــــــــــــــــــــــؤي





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

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

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