PDA

View Full Version : سوال: پرکردن یک کامبوباکس براساس مقدار کامبوباکس دیگر در زمان اجرا



h.alizadeh
دوشنبه 10 آبان 1389, 20:37 عصر
سلام،

من دوتا کامبوباکس دارم که میخوام در زمان اجرا وقتی یک کامبوباکس رو تغییر میدم یعنی از لیستش گزینه ای رو انتخاب میکنم ، میخوام کامبوباکس دیگه براساس اون گزینه انتخاب شده ی کامبوباکس اول رکوردهاشو بره از بانک بخونه.

راستش نمیدونم درphp چطوری اینکار رو انجام بدم.:خجالت:

آیا حتماً باید با اجکس باشه؟میشه کدشو بدید.


ممنون

funpatogh
دوشنبه 10 آبان 1389, 21:17 عصر
http://barnamenevis.org/forum/showthread.php?t=239835

Keramatifar
دوشنبه 10 آبان 1389, 21:38 عصر
با سلام خدمت شما دوست عزیز
چون فکر می کنم خیلی از تازه کارها هم مشکل شما رو داشته باشند، یک مثال برای انجام اینکار به ساده ترین شکل ممکن براتون نوشتم:



<?php
if(isset($_POST['master'])) //چک می کنیم که آیا توسط لیست مقداری با متد پست ارسال شده یا نه
{
$SelectedMaster = $_POST['master'];

//در اینجا باید بر اساس پارامتر بالا که بدست می آوریم مقادیر را از دیتابیس بخوانیم
//و بعنوان مثال مقدار متغیر زیر از دیتابیس خوانده شده است
$resultFromDatabase = array("Detail $SelectedMaster", "Detail $SelectedMaster", "Detail $SelectedMaster");
}
echo <<<_END
<html>
<head>
<title>Sample</title>

</head>
<body>
<form method="post" action="sample.php">
<select name="master" size="1" onchange="submit();"> <!--یک لیست ایجاد می کنیم که با استفاده از تابع جاوا اسکریپت با هر بار تغییر انتخاب فرم را سابمیت می کنید -->
<option value="1">Category 1</option>
<option value="2">Category 2</option>
<option value="3">Category 3</option>
</select>
<select name="detail" size="1">
_END;

if ($SelectedMaster <> null) //چک می کنیم که آیا متغیری که باید توسط لیست موجود در فرم مقداردهی شود مقدار دارد یا نه
{

foreach($resultFromDatabase as $myResultIndex => $ResultValue)
{
echo "<option value='$myResultIndex'>$ResultValue</option>"; //در یک حلقه مقادیر موجود در تابع گرفته شده از دیتابیس را می خوانیم و همراه با اعضای لیست به صفحه اضافه می کنیم

}
}
else
{
echo "<option value='1'>No Data</option>"; //در صورتیکه متغیر مربوطه به پست مقداردهی نشده باشد فقط این عضو به صفحه اضافه می شود
}
echo <<<_END

</select>
</form>
</body>
</html>
_END;
?>