سلام خدمت همه دوستای گلم مبحث آموزش php رو ادامه میدیم با مثالی ا ز دستور elseif
این مثال همون مثال سفارش کتابه که تکمیلش میکنیم و چند شرط بهش اضافه میکنیم
خرید کنتر از 10 عدد تخفیف نداره
10 تا 49 تا 5% تخفیف داره
50 تا 99 10 %تخفیف داره
100 تا یا بیشتر 15% تخفیف داره
این صفحه رو مثلا با نام ch4-2.html ذخیره کنید
کد HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
</style>
</head>
<body>
<FORM ACTION="CH4-2.PHP" METHOD="POST">
<TABLE width="251">
<Tr>
<td bgcolor="#333333"><div align="center" class="style1">نام کتاب</div></TD>
<td bgcolor="#333333"><div align="center" class="style1">تعداد</div></TD>
</tr>
<tr>
<td bgcolor="#FFFF00"><div align="center">پاسکال</div></td>
<td bgcolor="#FFFF00"><input type="text" name="pascalq" size="3" maxlength="3"></td>
</tr>
<tr>
<td bgcolor="#FFFF00"><div align="center">ویژوال بیسیک</div></td>
<td bgcolor="#FFFF00"><input type="text" name="visualq" size="3" maxlength="3"></td>
</tr>
<tr>
<td bgcolor="#FFFF00"><div align="center">برنامه c</div></td>
<td bgcolor="#FFFF00"><input type="text" name="cq" size="3" maxlength="3"></td>
</tr>
<tr>
<td bgcolor="#FFFF00"><div align="center">
<input type="submit" value="خرید">
</div>
<td bgcolor="#FFFF00">
</tr>
</TABLE>
</form>
</body>
</html>
حالا باید صفحه محاسباتمون رو طراحی کنیم این صفحه رم با نام ch4-2.php ذخیره کنید
کد PHP:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
$sum= $_POST['pascalq']+ $_POST['visualq']+ $_POST['cq'];
$price=$_POST['pascalq']*3000+$_POST['visualq']*2500 + $_POST['cq']*4000;
echo '<b> you ordered as follow:'.'<br>';
echo 'pascal:'.$_POST['pascalq'].'<br>';
echo 'visual c++:'. $_POST['visualq'].'<br>';
echo 'c programming:'.$_POST['cq'].'<br>';
echo 'TOTAL quantity:'. $sum .'<br>';
echo 'TOTAL PRICE:' .$price.'<br>';
if ($sum < 10)
$dicount=0;
elseif($sum >=10&&$sum<=49)
$discount=$price *5 /100;
elseif($sum>=50&&$sum<=99)
$discount=$price *10 / 100;
else
$discount=$price *15/100;
echo 'discount='.$discount;
echo 'pament=' . ($price- $discount);
?>
</body>
</html>
دستور switch
اگر یه شرط دارای 2 مقدار باشه برای تصمیم گیری بر اساس نتیجه اون شرط از دستور if استفاده می شه. اما اگه شرط بیش از دو مقدار داشته باشه
میتونیم از switch استفاده کنیم توی شرط if مقدار true یا false داشته باشه اما در دستور switch هرمقداری می تونه داشته باشه
---------- Post added at 03:00 PM ---------- Previous post was at 02:59 PM ----------
شکل کلی دستور
کد PHP:
switch(avalable)
{
مقدار case1;
....
break;
مقدار case2;
....
break;
.
.
.
default;
...
break;
}
---------- Post added at 03:15 PM ---------- Previous post was at 03:00 PM ----------
توی این دستور اگر مقدار variable برابر 1 باشه دستورات مربوط به خودش اجرا میشه و دستور break باعث خروج از ساختار استفاده میشه.
اگر مقدارش 2 باشه دستورات مربوط به اون اجرا میشه و اگر هیچکدوم از مقادیر ذکر مشه دستورات بعد از default اجرا میشه
فکر کنم با این مثال کاملا توجیح بشید:
به نام ch4-3.html ذخیره کنید
کد HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<table border=0>
<form action="ch4-3.php" method="post">
<tr>
<td bgcolor="#33FF00"><h5>how do you find my site?</h5></td>
</tr>
<tr>
<td bgcolor="#66FF00">
<select name="find">
<option value="a" >i'm regular customer.</option>
<option value="b">tv and radio advertising</option>
<option value="c">i heared from my student</option>
<option value="d"> i found it by search engine.</option>
</select>
</td>
</tr>
<tr>
<td bgcolor="#66FFFF"><input type="submit" value="submit order"></td>
</tr>
</form>
</table>
</body>
</html>
باز هم نیاز داریم به طراحی صفحه php که اون رو هم با نام ch4-3.php ذخیره میکنیم
کد PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
switch($_POST['find'])
{
case 'a':
echo '<b><p>regular customer.<p>';
break;
case 'b':
echo '<b><p> customer refferd by advertisment.<p>';
break;
case 'c':
echo '<b><p>customer refferd by his friend.<p>';
break;
case 'd':
echo '<b><p>customer refferd by search engine.<p>';
break;
default:
echo '<b><p>we do not know how customer found us.<p>';
break;
}
?>
</body>
</html>
توی دستور بالا بوسیله select یک لیست بازشونده می سازیم با 4 گزینه اسمشم find میزاریم
هر گزینه با یک مقدار مشخص میشه گزینه اول برابر با a
گزینه دوم b
گزینه سوم c
و گزینه چهارم d
وقتی کاربر گزینه ای رو انتخاب کنه ئ دکمه رو بزنه یکی از مقادیر a,b,c,d, در متغیر finde$ قرار میگیره که توی برنامه ch4-3.php قابل دستیابیه
اگر خوب دقت کنید میبینید که یه دستور switch متغیر find رو بصورت
کد PHP:
switch($_POST['find'])
بررسی میکنه و بر اساس مقدار این متغیر
پیامی رو چاپ میکنه
---------- Post added at 03:16 PM ---------- Previous post was at 03:15 PM ----------
مبحث بعدی ساختار تکرار و دستور while