تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: Jan 2005-
#1 (permalink)  
[سؤال]كيف استطيع التعامل مع القوائم ذات اختيار متعدد


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

هذا هو

كود بلغة 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|+|
"عامل الناس بما تحب أن يعاملوك به"
لـــــــــــــــــــــــــــــؤي
3bdullah غير متواجد حالياً   قديم 30-08-2005, 08:41 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Mar 2003-
#2 (permalink)  

السلام عليكم
لجعل الاختيار من متعدد يمرر أكثر من قيمة يجب أن تضع القوسين التاليين [] بعد اسم العنصر لكي يمررها كمصفوفة
ثم استخدم 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>";
}
?>
وفقك الله






__________________
سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
قاصد غير متواجد حالياً   قديم 30-08-2005, 09:29 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jan 2005-
#3 (permalink)  

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

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

اقتباس:
المشاركة الأصلية كتبت بواسطة قاصد
السلام عليكم
لجعل الاختيار من متعدد يمرر أكثر من قيمة يجب أن تضع القوسين التاليين [] بعد اسم العنصر لكي يمررها كمصفوفة
ثم استخدم 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|+|
"عامل الناس بما تحب أن يعاملوك به"
لـــــــــــــــــــــــــــــؤي
3bdullah غير متواجد حالياً   قديم 30-08-2005, 09:51 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Mar 2003-
#4 (permalink)  

عفوا أخي 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 لكن قد تكون هذه الطريقة أنسب (حسب برنامجك وحاجته)

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






__________________
سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
قاصد غير متواجد حالياً   قديم 30-08-2005, 11:31 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jan 2005-
#5 (permalink)  

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

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

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

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






__________________
"من علمني حرفا صرت له عبدا"
|+|PHP|+|loowy|+|PHP|+|
"عامل الناس بما تحب أن يعاملوك به"
لـــــــــــــــــــــــــــــؤي
3bdullah غير متواجد حالياً   قديم 31-08-2005, 03:36 AM
رد مع اقتباس
رد


 

أدوات الموضوع

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

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 08:19 AM بتوقيت المملكة العربية السعودية