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

خطأ في عمل اختيارين select بصفوفه ثنائية

بدأه mdf في 1 ديسمبر 2010 · 9 رد · 582 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي بعض الاخطأ في هذا الكود لكن اريد منكم ارشادي ال الطريقة الصحيح ...........الكود عبارة عن صفحة html و php الصفحة التي تخرج امام المستخدم عبارة عن text و اثنين select و text للاخراج النتيجه ....لكن مبدئين عملت الاخراج في صفحة php ..... وضعت مصفوفه ثنائية البعد ....العدد الاول 15 لطرح والثاني 15 لكن للقسمه .....المتغير D1 عبارة عن متغير لل <select size="1" name="D1">....والاندكس الذي يختار من المصفوفه <option> .....و قائمة الثانية <select size="1" name="D2"> نفس عمل الاولي

<?php
$D1=array(15,15);

$D2=array(15,15);


if($input=0);{


 echo "الرجاء أدخل الرقم ؟";
}

if($D1=0 & $D2=0);{

echo "الرجاء اختيار الوحدة المحول لها";

}



if($d1=0 & $d2=1);
{

 print $output=$d1-$d2;
}

if($d2=0 & $d1=1);
{

print $output=$d1/$d2;


}

?>

تم تعديل هذه المشاركة بواسطة mdf في 1 ديسمبر 2010 في 01:42

#2

السلام عليكم ورحمة الله

أخي الكريم أولاً لم أرى في الكود الخاص بك أي مصفوفة ثنائية البعد بل المصفوفات التي في الكود الخاص بك هي مصفوفات احادية البعد بقيمتين

ثانياً لديك أكثر من فاصلة منقوطة زائدة كهذه :

if($D1=0 & $D2=0);

لا تضع فاصلة بعد الشرط الـ if قم بازالة جميع الفواصل المنقوطة الموجودة بعد الشروط if

أخيراً لم أفهم بالضبط مالذي تريد عمله بالضبط يرجى توضيح المطلوب أكثر ما هي الخيارات الموجودة ضمن القائمة (select) الأولى و الثانية

بتوفيق الله...

Everything will be fine when we TALK LESS, DO MORE


#3
MoHaMMaD Pro كتب:

السلام عليكم ورحمة الله

أخي الكريم أولاً لم أرى في الكود الخاص بك أي مصفوفة ثنائية البعد بل المصفوفات التي في الكود الخاص بك هي مصفوفات احادية البعد بقيمتين

ثانياً لديك أكثر من فاصلة منقوطة زائدة كهذه :

if($D1=0 & $D2=0);

لا تضع فاصلة بعد الشرط الـ if قم بازالة جميع الفواصل المنقوطة الموجودة بعد الشروط if

أخيراً لم أفهم بالضبط مالذي تريد عمله بالضبط يرجى توضيح المطلوب أكثر ما هي الخيارات الموجودة ضمن القائمة (select) الأولى و الثانية

بتوفيق الله...

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

<?php 


$d1=array(2,2); 

$d2=array(4,4); 


if($d1[0] & $d2[1]) 
{ 

 print $output=$input/ $d1[0]; 
} 

if($d2[0] & $d1[1])
{ 

print $output=($input * $d2[0]); 


} 

?>

كود html

<html dir="rtl">
<head>
<meta http-equiv="Content-Language" content="ar-sa">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<title>test</title>
</head>
<body>



<form method="POST" action="--WEBBOT-SELF--">

 <fieldset style="padding: 2">
 <legend>test</legend>
 <p align="center">أدخل القياس <input type="text" name="input" size="20"><p> </p>
 <p align="center">الوحدة <select size="1" name="D1">
 <option>A</option>
 <option>B</option>
 </select><span lang="en-us">                                              
 </span>الوحدة المحول لها<span lang="en-us">  </span><select size="1" name="D2">
<option>A</option>
<option>B</option>
</select><span lang="en-us">       </span></p>
 <p align="center">النتيجة بعد التحويل <input type="text" name="output" size="20"><span lang="en-us">         
 </span></p>
 </fieldset><p align="center"><input type="submit" value="إرسال" name="B3"><input type="reset" value="إعادة تعيين" name="B4"></p>
</form>

</body>
</html>
#4

إن كنت قد فهمت ما تريد بشكل صحيح فمن الخطأ هنا عمل ذلك بواسطة الـ PHP من الأفضل عمل الفكرة على Javascript

فالمستخدم ليس مضطراً لينتظر اعادة تحديث الصفحة كلما اراد حساب عدد ما

على كل حال لعمل ما تريد بـ PHP عليك استبدال المتحول input$ بـ

$_POST['input']

كما أن قيمة $output لن تظهر في مربع النص الذي تضعه في الصفحة

لتظهر قيمة ناتج الحساب عليك استبدل السطر الخاص بمربع النص الذي اسمه output بهذا السطر :

<input type="text" name="output" size="20" value="<?php echo $output;?>">

ولكن أيضا ما زالت هناك أمور غير واضحة

أنت تضع في القوائم فقط A و B بدون أي قيم (أي أنه لن يتم ارسال أي قيمة من هذه القوائم عند ضغط زر ارسال) كما أنك عندما تقوم بالحساب لا تعتمد على هذه القوائم أبداً وإنما تعتمد على القيم الموجودة في المصفوفات فما الداعي لوجود هذه القائمتين إن كنت لا تعتمد عليها في الحساب؟

كما قلت لك اختيارك للـ PHP هنا ليس محبذاً من الأفضل في فكرة كهذه العمل على الـ Javascript

بتوفيق الله...

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 4 ديسمبر 2010 في 03:02

Everything will be fine when we TALK LESS, DO MORE


#5
MoHaMMaD Pro كتب:

إن كنت قد فهمت ما تريد بشكل صحيح فمن الخطأ هنا عمل ذلك بواسطة الـ PHP من الأفضل عمل الفكرة على Javascript

فالمستخدم ليس مضطراً لينتظر اعادة تحديث الصفحة كلما اراد حساب عدد ما

على كل حال لعمل ما تريد بـ PHP عليك استبدال المتحول input$ بـ

$_POST['input']

كما أن قيمة $output لن تظهر في مربع النص الذي تضعه في الصفحة

لتظهر قيمة ناتج الحساب عليك استبدل السطر الخاص بمربع النص الذي اسمه output بهذا السطر :

<input type="text" name="output" size="20" value="<?php echo $output;?>">

ولكن أيضا ما زالت هناك أمور غير واضحة

أنت تضع في القوائم فقط A و B بدون أي قيم (أي أنه لن يتم ارسال أي قيمة من هذه القوائم عند ضغط زر ارسال) كما أنك عندما تقوم بالحساب لا تعتمد على هذه القوائم أبداً وإنما تعتمد على القيم الموجودة في المصفوفات فما الداعي لوجود هذه القائمتين إن كنت لا تعتمد عليها في الحساب؟

كما قلت لك اختيارك للـ PHP هنا ليس محبذاً من الأفضل في فكرة كهذه العمل على الـ Javascript

بتوفيق الله...

على وجه التقريب اريد اعمل مثل هذا التي في الرابط ...بعدها تسهل علينا التطوير

http://222z.net/Services/time.htm

post-181763-070038200 1291468816_thumb.g

المرفقات
صورة جديدة.gif
#6

منتظر ردك اخي

#7

أخي مرة أخرى الموجود في الرابط مكتوب بالـ Javascript وليس بالـ PHP :)

على كل حال إن كنت عازماً على استخدام الـ PHP في هذه الفكرة فالمثال الذي تريده كالتالي :

<?php
if($_POST['D1']=="c" & $_POST['D2']=="f") {
	$output = round(($_POST['input'] * 1.8 + 32) * 100) / 100; 
}
elseif($_POST['D1']=="f" & $_POST['D2']=="c") { 
	$output=round((($_POST['input'] - 32) / 1.8) * 100) / 100; 
} 
else {
	$output=$_POST['input'];
}
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>test</title>
</head>
<body>



<form method="POST">
<fieldset style="padding: 2">
<legend>test</legend>
<p align="center">
Enter the number : <br>
<input type="text" name="input" size="20"><br>
Convert From :<br>
<select size="1" name="D1">
 <option value="c">celcius</option>
 <option value="f">farenheit</option>
</select><br>
Convert to :<br>
<select size="1" name="D2">
 <option value="c">celcius</option>
 <option value="f">farenheit</option>
</select><br>
Output :<br>
<input type="text" name="output" size="20" value="<?php echo $output;?>">
</p>
</fieldset>
<p align="center"><input type="submit" value=" Send " name="B3"><input type="reset" value=" Reset " name="B4"></p>
</form>
</body>
</html>

تم اقتباس المعادلات من الرابط الذي قمت بارفاقه

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 5 ديسمبر 2010 في 22:18

Everything will be fine when we TALK LESS, DO MORE


#8
MoHaMMaD Pro كتب:

أخي مرة أخرى الموجود في الرابط مكتوب بالـ Javascript وليس بالـ PHP :)

على كل حال إن كنت عازماً على استخدام الـ PHP في هذه الفكرة فالمثال الذي تريده كالتالي :

<?php
if($_POST['D1']=="c" & $_POST['D2']=="f") {
	$output = round(($_POST['input'] * 1.8 + 32) * 100) / 100; 
}
elseif($_POST['D1']=="f" & $_POST['D2']=="c") { 
	$output=round((($_POST['input'] - 32) / 1.8) * 100) / 100; 
} 
else {
	$output=$_POST['input'];
}
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>test</title>
</head>
<body>



<form method="POST">
<fieldset style="padding: 2">
<legend>test</legend>
<p align="center">
Enter the number : <br>
<input type="text" name="input" size="20"><br>
Convert From :<br>
<select size="1" name="D1">
 <option value="c">celcius</option>
 <option value="f">farenheit</option>
</select><br>
Convert to :<br>
<select size="1" name="D2">
 <option value="c">celcius</option>
 <option value="f">farenheit</option>
</select><br>
Output :<br>
<input type="text" name="output" size="20" value="<?php echo $output;?>">
</p>
</fieldset>
<p align="center"><input type="submit" value=" Send " name="B3"><input type="reset" value=" Reset " name="B4"></p>
</form>
</body>
</html>

تم اقتباس المعادلات من الرابط الذي قمت بارفاقه

ممتاز جداً .....اخي وجزاك الله خير.......لكن لدي سوال اخير .....إذا كان اكثر من تحوبل مثل وحدات التخزين هل استخدم مصفوفه بسبب ان فيه تكرار مثل ميجا الي جيجا او جيجا الى ميجا او الجيجا ايى التيرا او كيلو .... ويوجد هناك من المعادلات التي فيها تكرار كثيراً.... هل يوجد اختصار تنصحني به

#9

تم فتح السؤال من جديد بخصم النقاط من صاحب السؤال ومنح النقاط لإجابة الأخ محمد.

يرجى في المرة القادمة تحديد فترة أطول للسؤال إن كان من المتوقع أن يكون هناك أخذ ورد كثير.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#10
Xacker كتب:

تم فتح السؤال من جديد بخصم النقاط من صاحب السؤال ومنح النقاط لإجابة الأخ محمد.

يرجى في المرة القادمة تحديد فترة أطول للسؤال إن كان من المتوقع أن يكون هناك أخذ ورد كثير.

لم اكن اعلم بهذا الامر .....لكن شكراً.....ومنتظر الاخ محمد

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…