با سلام،
دوستان کسی می دونه چه طور میشه گزینه های combo box از فیلد های جدولی که در mysql ساختم لود شه؟! یعنی اصلاً میشه تو html همچین کاری کرد؟!
تو رو خدا راهنمایی کنید شنبه باید پروژه رو تحویل بدم،ممنون
راستی من از php استفاده می کنم
Printable View
با سلام،
دوستان کسی می دونه چه طور میشه گزینه های combo box از فیلد های جدولی که در mysql ساختم لود شه؟! یعنی اصلاً میشه تو html همچین کاری کرد؟!
تو رو خدا راهنمایی کنید شنبه باید پروژه رو تحویل بدم،ممنون
راستی من از php استفاده می کنم
میشه منظورتون رو دقیق تر بگید .
فکر میکنم همچین چیزی منظورشون باشه:
[php]
$sql = mysql_query("SELECT name,value FROM table_name;");
$options = '';
while($row = mysql_fetch_assoc($sql)) {
$options .= '<option value="' . $row['value'] . '">' . $row['name'] . '</option>' . "\n";
}
mysql_free_results($sql);
echo '<select name="comboname">', $options, '</select>';
[/php]
بله دقیقاً همین بود، خیلی ممنون
1سوال دیگه هم داشتم: من اگه بخوام 2تا combo box داشته باشم که گزینه های دومی به انتخاب option اولی بستگی داشته باشه باید چه کار کنم؟!
این کار رو به چند طریق میشه انجام داد:
می تونید با onchange سلکت اول صفحه رو با یک پاراکتر GET_$ اضافی ریدایرکت کنید و در سرور با توجه به پارامتر دریافتی سلکت دوم رو پر کنید
یا اگر آپشنهای دومی زیاد نیستن می تونید همه آپشنهای سلکت دوم رو در همون درخواست اول لود کنید و با onchange سلکت اول همونجا به وسیله جاوا اسکرپت دومی رو پر کنید
یا می تونید با onchange سلکت اول یک درخواست ای جکس بفرستید و با پاسخش آپشنهای دومی رو پر کنید...
ممنون، ممکنه راه دوم رو یه کم بیشتر توضیح بدین ( همون که درجا با جاوا اسکریپت پر میشه) یا اگه ممکنه تکه کدشو برام بنویسید، با تشکرات
منظورم یه چیزی تو این مایه ها بود:
[HTML]<script type="text/javascript">
var newVals = {
'val1': {'v1': 'o1', 'v2': 'o2', 'v3': 'o3'},
'val2': {'v4': 'o4', 'v5': 'o5'},
'val3': {'v6': 'o6', 'v7': 'o7', 'v8': 'o8'}
};
function fillSelect2() {
var combo1 = document.getElementById('combo1');
var combo2 = document.getElementById('combo2');
combo2.length = 0;
for(x in newVals[combo1.value]) {
var o = document.createElement('option');
o.value = x;
o.innerHTML = newVals[combo1.value][x];
combo2.appendChild(o);
}
}
</script>
<select name="combo1" id="combo1" onchange="fillSelect2()">
<option value="0">-----</option>
<option value="val1">Option 1</option>
<option value="val2">Option 2</option>
<option value="val3">Option 3</option>
</select>
<select name="combo2" id="combo2"></select>[/HTML]
که قسمت مربوط به مقدار متغیر newVals رو باید در php ایجاد کنید که موقع لود شدن صفحه این متغیر تعریف بشه
البته من اینو همینطوری و الان نوشتم و مطمئناً بهینه نیست (تست هم نکردم) اما روش همین هست خودم هم قبلن با این روش کار کردم