الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عمل Disabled لبقية قيم في Menu

بدأه Mohammad Hussein في 21 أبريل 2009 · 6 رد · 691 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

لدي menu بها عدة قيم , هي اسماء الدوائر كالتالي:

<select name="departments">
          <option value="1" <?php if (!(strcmp(1, ""))) {echo "SELECTED";} ?>> </option>
          <option value="2" <?php if (!(strcmp(2, $d))) {echo "SELECTED";} ?>>قسم الموظفين</option>
          <option value="3" <?php if (!(strcmp(3, ""))) {echo "SELECTED";} ?>>قسم الخدمات</option>
          <option value="4" <?php if (!(strcmp(4, $d))) {echo "SELECTED";} ?>>قسم الشعر و الادب </option>
          <option value="5" <?php if (!(strcmp(5, ""))) {echo "SELECTED";} ?>>قسم العلوم</option>

        </select>

$d , هي عبار عن قيمة تأتي من صفحة سابقة و تحوي خانة رقمية , يتم فحصه مع القيمة الحالية كالتالي:

 if (!(strcmp(4, $d)))

حيث اذا كانت قيمة $d تساوي 4 , سيعمل على اختيار قسم الشعر و الادب و يطبق

{echo "SELECTED";}

سؤالي:

اريد عندما ينتهي من فحص الشرط , و في حال كان تطابق 4== d , صحيح . ان يختارها فقط ( هذا يعمل الان ) مع اخفاء الاقسام الاخرى ( هذا المطلوب)

اي ان لا تظهر الاقسام الاخرى في القائمة ؟

/محمد

#2

لن اجيبك... اخي... تحتاج تقرأ اكثر عن Conditions و عن Data Types: Booleans و ثم عن strcmp and what type it returns ثم عن Comparison

باي حال منطق الكود 100% خطأ... افضل انك تتعلم اكثر على اني اعطيك الحل في مستواك هذا

php5-zce-logo-new.gif

CCNA, CCNA Security, CCNP

#3

شكرا على الاجابة اللطيفة !

#4

السلام عليكم

قم بأخفائها جميعا واجعل الشرط بأظهار القيمه المختاره

style="display:none;"

او بنفس طريقتك لكن اضف else اذا لم يكن هو فقم بتعطيله

<input type="radio" disabled>

طبعا الحلين يجب فيهما الاستغناء عن select

واستخدم الراديو مثلا ولا ارى داعي للselect هنا ما دمت تريد ابقاء الخيار الوحيد فقط!!!!!

اتمنى اني ساعدتك

تحياتي

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

#5

اوكي بشرح لك السبب لاختياري للاسلوب غير اللطيف:

1- في العنوان تتكلم عن disable والكود اللي كتبته يحاول يعمل selected للاختيار... يعني حتى منطق السؤال غير واضح

2- تتعامل مع strcmp و php tags بطريقة اقل ما يمكن اني اقول عنها bad practice في مرتين... و "خطأ" في ثلاث مرات... خطأ لان المقارنه بين 1 و "" دائما false ... ليه تجريها اذا!

3- منطقيا ... مافيه معنى من انك تشيل الاختيارات .. و ما اعرف ليه تسمي العملية disable و ليه تعمل selected باي حال... الموضوع راجع لك... انا فقط اشير انه غير (عملي)

على اي حال انا راح اكتب لك الكود اللي اعتقد انه تطلبه... لكن اذكرك مرة اخرى انك تحتاج تتعلم اكثر قبل ما تعمل كود على الانترنت :)

<?php
$dis='';
if($d=='1'||$d=='2'||$d=='3'||$d=='4'||$d=='5')
	$dis=' disabled=disabled';
?>
<select name="departments"<?=$dis?>>
<?php
switch($d)
{
	case '1':
?>
<option value="1"<?=(($d==1)?' selected="selected"':'')?>> </option>
<?
		break;
	case '2':
?>
<option value="2"<?=(($d==2)?' selected="selected"':'')?>>قسم الموظفين</option>
<?
		break;
	case '2':
?>
<option value="3"<?=(($d==3)?' selected="selected"':'')?>>قسم الخدمات</option>
<?
		break;
	case '2':
?>
<option value="4"<?=(($d==4)?' selected="selected"':'')?>>قسم الشعر و الادب </option>
<?
		break;
	case '2':
?>
<option value="5"<?=(($d==5)?' selected="selected"':'')?>>قسم العلوم</option>
<?
		break;
	default:
?>
<option value="1"> </option>
<option value="2">قسم الموظفين</option>
<option value="3">قسم الخدمات</option>
<option value="4">قسم الشعر و الادب </option>
<option value="5">قسم العلوم</option>
<?
}
?>
</select>

تم تعديل هذه المشاركة بواسطة Ryn في 23 أبريل 2009 في 01:06

php5-zce-logo-new.gif

CCNA, CCNA Security, CCNP

#6

سيد Ryn

هذا منتدى للنقاش, فية الصح وفية الخطأ, هذا المنتدى لتبادل افكار \ تعليم \ تحسين الخبرات \ نشر المعرفة \ .

بالتالي كان فية مجال ترد من البداية على هاي المباديء و الاسس , انتى استخدمت كلمات جارحة, مش في مكانها, ما بيصير تستخدم هاد الاسلوب في ردك على الناس, ان كنت موهوب , الله يوفقك لخدمة بلدك , بس لا تظهر علمك بشكل غير جميل و الا سوف تظهر علية علامات التكبر.

خلينا نشوف جملك الي كتبتها و اسلوبك , انتى هيك رديت :

  • ...لن اجيبك... اخي... تحتاج تقرأ اكثر عن ......
  • باي حال منطق الكود 100% خطأ... افضل انك تتعلم اكثر على اني اعطيك الحل في مستواك هذا
  • لكن اذكرك مرة اخرى انك تحتاج تتعلم اكثر قبل ما تعمل كود على الانترنت
  • اوكي بشرح لك السبب لاختياري للاسلوب غير اللطيف:
  • تتعامل مع strcmp و php tags بطريقة اقل ما يمكن اني اقول عنها bad practice في مرتين
  • ... يعني حتى منطق السؤال غير واضح

نفسك انتى بتعترف انك استخدمت اسلوب غير لطيف و بتبرر فية !!

سيد Ryn او ما بعرف شو اسمك يمكن احمد... لكن عامل الناس و اكتب رد بكلمات تعبر عن روح الاخوة و نشر المعرفة

بالنسبة لكودك , مشكور عليه لكن ما رح استخدمة.

احتمال يستفيد حدا منو

شكرا

\ محمد

#7

اخي الموضوع لم يكن شخصي ابدا،

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

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

بأي حال اذا تحب تاخذ المسألة بشكل شخصي، انا فعلا اعتذر. المفروض بالاضافة لردي الاول اضيف حل المشكلة و المسألة تكون راجعه لك اذا تسمع كلامي وتتعلم او تاخذ الكود وتستخدمه بدون ادنى فكرة.

php5-zce-logo-new.gif

CCNA, CCNA Security, CCNP

مواضيع مشابهة